:root {
  font-family: 'Segoe UI', Arial, sans-serif;
  color: #344f43;
  background: #f6f7f0;
  font-synthesis: none;
  --ink: #344f43;
  --muted: #829083;
  --green: #29674f;
  --line: #e0e6d8;
  --yellow: #ecd594;
  --coral: #c97972;
  --surface: #fffef8;
  font-size: 14px;
  letter-spacing: 0;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
button,
input {
  font: inherit;
}
button,
a,
input {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
button:disabled {
  cursor: not-allowed;
  opacity: 0.46;
}
button,
a {
  touch-action: manipulation;
}
button {
  color: inherit;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
[role='button']:focus-visible {
  outline: 3px solid #c3924d;
  outline-offset: 4px;
}
button {
  border: 0;
}
a {
  color: inherit;
  text-decoration: none;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2,
h3 {
  font-weight: 650;
}
svg {
  vertical-align: middle;
}
.icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  stroke-width: 1.7;
  fill: none;
}
.art {
  width: 100%;
  height: 100%;
  display: block;
}
.muted {
  color: var(--muted);
}
.tiny {
  width: 12px;
  height: 12px;
}
.eyebrow {
  font-size: 10px;
  font-weight: 700;
  color: #7f927e;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}
.live-dot {
  width: 5px;
  height: 5px;
  background: #88a376;
  border-radius: 50%;
}
.warning-text {
  color: #bd7050;
}
.price-up {
  color: #688a57;
}
.full {
  width: 100%;
}
.icon-button {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  transition:
    background 0.15s,
    transform 0.15s;
  flex-shrink: 0;
}
.icon-button:hover:not(:disabled) {
  background: #e8eede;
  transform: translateY(-1px);
}
.icon-button[aria-pressed='true'] {
  color: #337759;
  background: #e8efda;
}
.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 10px 13px;
  border-radius: 6px;
  background: #edf0e4;
  border: 1px solid #dce3d2;
  font-size: 12px;
  font-weight: 650;
  white-space: normal;
  transition:
    background 0.15s,
    transform 0.15s;
}
.button:hover:not(:disabled) {
  background: #e0e8d5;
  transform: translateY(-1px);
}
.button:active:not(:disabled) {
  transform: translateY(1px);
}
.button.primary {
  background: #306e54;
  border-color: #306e54;
  color: #fffef1;
}
.button.primary:hover:not(:disabled) {
  background: #235b45;
}
.button.quiet {
  background: transparent;
  border-color: transparent;
}
.button.compact {
  padding: 7px 11px;
  min-height: 34px;
  font-size: 11px;
}
.button.mini {
  padding: 5px 8px;
  min-height: 31px;
  font-size: 10px;
}
.button .icon {
  width: 16px;
  height: 16px;
}
.button.danger {
  background: #f4e6df;
  color: #a45449;
  border-color: #e7cec3;
}
.coin-value {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.coin-value > .icon {
  color: #b59848;
  width: 16px;
  height: 16px;
}
.primary .coin-value > .icon {
  color: #ead798;
}
.progress {
  height: 5px;
  overflow: hidden;
  background: #e0e6d7;
  border-radius: 3px;
}
.progress > span {
  display: block;
  height: 100%;
  background: #86a873;
  border-radius: 3px;
  transition: width 0.3s linear;
}
.almost-full > span {
  background: #ce9470;
}

.topbar {
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px 0 25px;
  border-bottom: 1px solid var(--line);
  background: #fffef8;
  gap: 24px;
  position: relative;
  z-index: 2;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  flex-shrink: 0;
}
.brand-mark {
  width: 43px;
  height: 47px;
  background: #2e624f;
  border-radius: 7px 7px 17px 7px;
  display: grid;
  place-items: center;
  color: #f6e8b8;
}
.brand-mark .icon {
  width: 30px;
  height: 30px;
  stroke-width: 1.4;
}
.brand strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 28px;
  font-weight: 500;
  display: block;
  line-height: 1.18;
}
.brand-dot {
  color: #bc8c51;
}
.brand small {
  display: block;
  font-size: 8px;
  color: #93a08c;
  font-weight: 600;
  margin-top: 5px;
}
.resource-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 25px;
  flex: 1;
}
.resource {
  display: flex;
  align-items: center;
  gap: 10px;
  background: none;
  min-width: 76px;
  text-align: left;
  padding: 0;
}
.resource > .icon {
  width: 25px;
  height: 25px;
}
.resource small {
  display: block;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.4;
  color: #869081;
}
.resource strong {
  display: block;
  font-size: 20px;
  font-weight: 650;
  line-height: 1.3;
}
.resource em {
  font-style: normal;
  font-size: 11px;
  color: #97a18c;
  font-weight: 400;
}
.coins-resource > .icon {
  color: #c7a349;
  fill: #f5ebcb;
  stroke-width: 1.5;
}
.water-resource > .icon {
  color: #76a7b5;
  fill: #dfedf0;
}
.inventory-resource > .icon {
  color: #869875;
}
.level-resource {
  min-width: 165px;
  max-width: 220px;
}
.level-badge {
  display: grid;
  place-items: center;
  width: 35px;
  height: 37px;
  background: #eef0de;
  clip-path: polygon(50% 0, 94% 24%, 94% 76%, 50% 100%, 6% 76%, 6% 24%);
  font-size: 18px;
  font-weight: 650;
  color: #739361;
  flex-shrink: 0;
}
.level-resource > span:last-child {
  flex: 1;
}
.xp-line {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 7px;
}
.xp-line .progress {
  flex: 1;
  min-width: 64px;
}
.xp-line > span {
  font-size: 9px;
  color: #8e9985;
}
.header-actions {
  display: flex;
  gap: 8px;
  border-left: 1px solid var(--line);
  padding-left: 19px;
}
.header-actions .icon {
  width: 19px;
  height: 19px;
  color: #7a8b77;
}
.game-shell {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) 326px;
  max-width: 1760px;
  margin: auto;
  min-height: calc(100vh - 88px);
}
.navigation {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid var(--line);
  padding: 28px 9px 22px;
  background: #f8f9f2;
  gap: 26px;
}
.nav-main,
.nav-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 13px;
}
.nav-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 66px;
  min-height: 64px;
  background: transparent;
  border-radius: 7px;
  gap: 7px;
  color: #8b9782;
  font-size: 9px;
  position: relative;
  transition: background 0.15s;
}
.nav-button > .icon {
  width: 24px;
  height: 24px;
  stroke-width: 1.6;
}
.nav-button.active {
  background: #e7eedc;
  color: #3f7858;
}
.nav-button.active:before {
  content: '';
  position: absolute;
  width: 3px;
  height: 24px;
  background: #5f8c61;
  left: -9px;
  top: 20px;
  border-radius: 0 2px 2px 0;
}
.nav-button:hover {
  background: #edf1e6;
  color: #3b6d50;
}
.nav-leaf {
  display: block;
  color: #b3bf9e;
  padding-top: 26px;
}
.nav-leaf .icon {
  width: 24px;
  height: 24px;
  transform: rotate(-30deg);
}
.farm-main {
  min-width: 0;
  padding: 27px 29px 0;
  background: #f8f9f2;
}
.farm-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 20px;
}
.farm-heading h1 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 29px;
  font-weight: 400;
  line-height: 1.2;
  margin-top: 8px;
}
.farm-heading h1 > span {
  color: #bc9970;
}
.weather {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.weather-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: #f5edd1;
  border-radius: 50%;
  color: #bd9a50;
}
.weather-icon .icon {
  width: 23px;
  height: 23px;
  stroke-width: 1.5;
}
.weather strong {
  font-size: 11px;
  font-weight: 600;
  display: block;
}
.weather small {
  font-size: 10px;
  color: #92a089;
  display: block;
  margin-top: 4px;
}
.weather small span {
  padding: 0 5px;
}
.world-section {
  position: relative;
  isolation: isolate;
  margin: 0 -9px;
  background: #e8eee0;
  overflow: hidden;
  border-radius: 3px;
}
.world-top {
  position: absolute;
  top: 16px;
  left: 19px;
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  z-index: 1;
  pointer-events: none;
}
.world-top > * {
  pointer-events: auto;
}
.farm-sign {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  color: #74886d;
}
.farm-sign .icon {
  width: 14px;
  height: 14px;
}
.farm-sign b {
  font-weight: 500;
}
.farm-sign .muted {
  padding: 0 6px;
  color: #afbb9e;
}
.world-tools {
  display: flex;
  gap: 3px;
  background: #fafbf0bd;
  border: 1px solid #d7e0cb;
  border-radius: 6px;
  padding: 2px;
}
.world-tools .icon-button {
  width: 28px;
  height: 28px;
}
.world-tools .icon {
  width: 15px;
  height: 15px;
}
.world-scroll {
  width: 100%;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: #b8c9a5 #e1e9d6;
}
.world {
  width: 100%;
  min-width: 0;
}
.farm-world {
  width: 100%;
  height: auto;
  display: block;
  max-height: 650px;
  min-height: 395px;
}
.plot {
  cursor: pointer;
  outline: none;
}
.plot:hover > path:first-child {
  filter: brightness(1.06);
}
.plot:hover > path:nth-child(2),
.plot:focus-visible > path:nth-child(2) {
  stroke: #fffae2;
  stroke-width: 3px;
}
.plot.locked:hover > path:first-child,
.plot.locked:focus-visible > path:first-child {
  stroke: #7d9a6e;
  stroke-width: 2px;
  fill: #c8d7b4;
}
.plot.ready:hover .crop-art {
  filter: brightness(1.09);
}
.world-building {
  cursor: pointer;
  outline: none;
}
.world-building:hover .building-label rect,
.world-building:focus-visible .building-label rect {
  stroke: #6a8d70;
  stroke-width: 2px;
}
.world-building:hover .building-label {
  filter: drop-shadow(0 2px 3px #4f6b4922);
}
.circuit-line {
  stroke: #f6f3c5;
  stroke-width: 2;
  stroke-dasharray: 4 5;
  opacity: 0.8;
}
.blades {
  animation: spin 24s linear infinite;
  transform-box: fill-box;
  transform-origin: center;
}
.smoke {
  animation: smoke 6s ease-in-out infinite;
}
.ready-spark {
  animation: glint 3.3s ease-in-out infinite;
}
.plot:nth-child(2n) .ready-spark {
  animation-delay: 1.2s;
}
.floating-reward {
  animation: float-away 1.3s ease-out forwards;
}
.pulse-flash {
  animation: pulse-flash 0.7s ease-out forwards;
}
.world-bottom {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 45px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  pointer-events: none;
}
.plot-context {
  display: flex;
  gap: 9px;
  align-items: center;
  max-width: 76%;
  min-height: 44px;
}
.context-icon {
  width: 34px;
  height: 36px;
  border-radius: 50%;
  background: #f5f7e8;
  display: grid;
  place-items: center;
  color: #84966c;
  flex-shrink: 0;
}
.context-icon .icon {
  width: 20px;
  height: 20px;
}
.plot-context strong {
  display: block;
  font-size: 11px;
  font-weight: 650;
}
.plot-context small {
  display: block;
  font-size: 9px;
  color: #77856a;
  margin-top: 4px;
  line-height: 1.4;
}
.context-item {
  width: 38px;
  height: 46px;
}
.context-family {
  font-size: 8px;
  color: #849177;
  font-weight: 400;
  margin-left: 5px;
}
.weather-caption {
  font-size: 9px;
  color: #7b8e77;
  max-width: 136px;
  text-align: right;
  line-height: 1.5;
}
.world-legend {
  position: absolute;
  bottom: 11px;
  left: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 9px;
  color: #819074;
  background: #f4f7e8c4;
  padding: 4px 7px;
  border-radius: 4px;
  pointer-events: auto;
}
.world-legend > span {
  display: flex;
  align-items: center;
  gap: 4px;
}
.world-legend > .icon {
  width: 10px;
  height: 10px;
  opacity: 0.6;
}
.world-legend i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.root-dot {
  background: #c87861;
}
.leaf-dot {
  background: #548756;
}
.bloom-dot {
  background: #bd9440;
}
.world-legend .icon-button {
  width: 20px;
  height: 20px;
  margin-left: 3px;
}
.world-legend .icon-button .icon {
  width: 12px;
  height: 12px;
}
.planting-section {
  padding-top: 19px;
}
.planting-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  gap: 12px;
}
.section-caption {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #697d5e;
}
.section-caption .icon {
  width: 17px;
  height: 17px;
}
.section-caption h2 {
  font-size: 12px;
  font-weight: 600;
}
.tool-switch {
  display: flex;
  gap: 3px;
  background: #edf0e5;
  padding: 3px;
  border-radius: 6px;
}
.tool-button {
  display: flex;
  gap: 5px;
  align-items: center;
  background: transparent;
  border-radius: 4px;
  padding: 6px 8px;
  font-size: 9px;
  color: #8a987e;
  min-height: 28px;
}
.tool-button > .icon {
  width: 14px;
  height: 14px;
}
.tool-button.active {
  background: #fffef5;
  box-shadow: 0 1px 3px #50633b12;
  color: #5d7f52;
}
.seed-tray {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.seed {
  min-width: 0;
  background: #f0f2e7;
  border: 1px solid #e3e8d7;
  border-radius: 6px;
  padding: 7px 7px 9px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  text-align: center;
  min-height: 128px;
  transition:
    border-color 0.15s,
    background 0.15s,
    transform 0.15s;
}
.seed.selected {
  border-color: #7e9d70;
  background: #edf1dc;
  box-shadow: inset 0 0 0 1px #9cb88b50;
}
.seed:hover:not(:disabled) {
  transform: translateY(-3px);
  background: #e9efdc;
  border-color: #b3c59e;
}
.seed-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 15px;
}
.seed-top > .icon {
  width: 12px;
  height: 12px;
  color: #6c8e57;
}
.family-label {
  font-size: 8px;
  color: #7a8b6d;
  background: #e5ead9;
  padding: 2px 5px;
  border-radius: 3px;
}
.family-label.root {
  color: #b07863;
  background: #f1e3d7;
}
.family-label.leaf {
  color: #648655;
  background: #e1e9d5;
}
.family-label.bloom {
  color: #a39053;
  background: #f0e9cf;
}
.seed-art {
  display: block;
  width: 54px;
  height: 57px;
  margin: -1px 0 3px;
}
.seed strong {
  font-size: 11px;
  font-weight: 650;
  line-height: 1.5;
}
.seed-detail {
  font-size: 8px;
  color: #8e977d;
  margin-top: 4px;
  white-space: nowrap;
}
.seed-detail > span {
  margin: 0 2px;
  color: #bec7ac;
}
.seed-locked {
  opacity: 0.52 !important;
  background: #f2f3eb;
  border-style: dashed;
}
.seed-locked .seed-art {
  filter: saturate(0.45);
}
.rotation-label {
  font-size: 9px;
  color: #5c8b51;
}
.quest-strip {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 20px 0 18px;
  margin-top: 21px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  min-height: 98px;
}
.quest-emblem {
  width: 43px;
  height: 43px;
  background: #ececd9;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #8c976b;
  flex-shrink: 0;
}
.quest-emblem .icon {
  width: 20px;
  height: 20px;
}
.quest-copy {
  flex: 1;
  min-width: 0;
}
.quest-copy small {
  display: block;
  font-size: 8px;
  color: #9aa588;
  font-weight: 600;
}
.quest-copy small span {
  color: #b8bea7;
  padding-left: 3px;
}
.quest-copy strong {
  font-size: 13px;
  font-weight: 650;
  display: block;
  margin-top: 5px;
}
.quest-copy > span {
  display: block;
  font-size: 10px;
  color: #8d9982;
  margin-top: 4px;
}
.quest-progress {
  min-width: 57px;
  text-align: right;
}
.quest-progress > span {
  font-size: 14px;
  font-weight: 650;
}
.quest-progress small {
  font-size: 10px;
  color: #adb49a;
  font-weight: 400;
}
.quest-progress > .progress {
  height: 3px;
  margin-top: 5px;
}
.quest-strip > .button {
  font-size: 10px;
  margin-left: 7px;
  padding: 9px 10px;
  flex-shrink: 0;
}
.quest-strip > .button > .icon {
  width: 14px;
  height: 14px;
}
.quest-done {
  color: #7a9b6c;
  width: 30px;
  height: 30px;
}
.farm-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #a4ad97;
  font-size: 9px;
  padding: 16px 0 17px;
  gap: 12px;
}
.farm-footer > span {
  display: flex;
  gap: 6px;
  align-items: center;
}
.farm-footer .icon {
  width: 12px;
  height: 12px;
}
.farm-footer > button {
  display: flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  font-size: 9px;
  color: #96a48b;
  padding: 4px;
}
.farm-footer > button.save-failed {
  color: #b66f58;
}

.side-panel {
  min-width: 0;
  border-left: 1px solid var(--line);
  padding: 29px 23px;
  background: #fdfdf6;
  overflow: hidden;
}
.panel-header {
  margin-bottom: 25px;
}
.panel-header .eyebrow {
  font-size: 8px;
  color: #9aa58d;
}
.panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 6px;
  gap: 6px;
}
.panel-title h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 23px;
  font-weight: 400;
  line-height: 1.2;
}
.panel-title .icon-button {
  color: #a5ae96;
  width: 25px;
  height: 29px;
}
.panel-title .icon-button .icon {
  width: 17px;
  height: 17px;
}
.panel-header p {
  font-size: 10px;
  color: #94a085;
  margin-top: 10px;
}
.panel-header p > span {
  padding: 0 5px;
  color: #b6bda5;
}
.orders-list {
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.order {
  border: 1px solid #e0e5d5;
  border-radius: 7px;
  padding: 14px 13px 12px;
  background: #fffef8;
  box-shadow: 0 3px 5px #6e805303;
}
.order.express {
  border-color: #dfd4b0;
  background: #fffdf3;
}
.customer {
  display: flex;
  align-items: center;
  gap: 10px;
}
.portrait {
  display: block;
  width: 38px;
  height: 38px;
  flex-shrink: 0;
}
.customer > span:nth-child(2) {
  flex: 1;
  min-width: 0;
}
.customer strong {
  font-size: 12px;
  display: block;
  font-weight: 650;
}
.customer small {
  display: block;
  font-size: 9px;
  color: #9aa38b;
  margin-top: 4px;
  line-height: 1.4;
}
.customer .icon-button {
  width: 24px;
  height: 26px;
  align-self: flex-start;
  color: #a8b298;
}
.customer .icon-button .icon {
  width: 13px;
  height: 13px;
}
.order-items {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 14px 0 12px;
  min-height: 40px;
}
.requirement {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
  color: #ae8068;
}
.requirement > .art {
  width: 32px;
  height: 38px;
  flex-shrink: 0;
}
.requirement > .tiny {
  width: 10px;
  height: 10px;
}
.requirement .muted {
  color: #b0b5a0;
  font-weight: 400;
  font-size: 10px;
}
.requirement.enough {
  color: #658857;
}
.order-xp {
  margin-left: auto;
  color: #a2a885;
  font-size: 9px;
  white-space: nowrap;
}
.order-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
  border-top: 1px solid #eff0e5;
  gap: 8px;
}
.order-reward .coin-value {
  font-size: 16px;
  font-weight: 650;
  color: #867b4d;
}
.order-reward > .coin-value > .icon {
  width: 18px;
  height: 18px;
  color: #baa159;
}
.order-reward small {
  display: block;
  font-size: 8px;
  color: #b39d6c;
  margin-top: 3px;
}
.order-bottom .button {
  min-width: 103px;
  font-size: 10px;
  min-height: 33px;
  gap: 14px;
}
.muted-button {
  background: #f0f1e8;
  border-color: #e8eadc;
  color: #8e987e;
  opacity: 0.8 !important;
}
.express-line {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 9px;
  color: #af945b;
  background: #f8f0d9;
  margin: 12px -2px -4px;
  padding: 6px;
  border-radius: 3px;
}
.express-line > .icon {
  width: 12px;
  height: 12px;
}
.express-line > span {
  margin-left: auto;
  font-weight: 600;
}
.market-note {
  display: flex;
  align-items: center;
  gap: 10px;
  border-top: 1px dashed #d9dfcb;
  border-bottom: 1px dashed #d9dfcb;
  margin-top: 25px;
  padding: 19px 0;
}
.market-note-icon {
  width: 43px;
  height: 46px;
  background: #f1edda;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  border-radius: 6px;
  color: #ae9c6b;
}
.market-note-icon .icon {
  width: 24px;
  height: 24px;
  stroke-width: 1.4;
}
.market-note > div {
  flex: 1;
}
.market-note .eyebrow {
  font-size: 8px;
  color: #a9ac8d;
}
.market-note strong {
  display: block;
  font-size: 12px;
  margin-top: 4px;
}
.market-note > div > span {
  font-size: 9px;
  display: block;
  color: #9ba288;
  margin-top: 4px;
}
.market-note b {
  color: #859659;
  font-weight: 600;
  padding-left: 5px;
}
.market-note > .icon-button {
  color: #94a480;
  width: 28px;
  height: 30px;
}
.neighbor-note {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 24px;
}
.neighbor-avatar {
  width: 37px;
  height: 37px;
  display: block;
  opacity: 0.7;
  flex-shrink: 0;
}
.neighbor-note p {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 13px;
  font-style: italic;
  color: #92a084;
  line-height: 1.6;
}
.neighbor-note small {
  display: block;
  font-family: 'Segoe UI', sans-serif;
  font-style: normal;
  font-size: 7px;
  color: #abb39d;
  margin-top: 9px;
}
.building-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.building-tab {
  min-width: 0;
  padding: 10px 2px;
  background: #f2f4e9;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  color: #8f9d83;
}
.building-tab .icon {
  width: 20px;
  height: 20px;
}
.building-tab > span {
  font-size: 8px;
  line-height: 1.3;
}
.building-tab.active {
  background: #e3ebd9;
  color: #5d8256;
  box-shadow: inset 0 -2px 0 #8daa77;
}
.workshop-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 21px 0;
}
.workshop-title > span {
  width: 41px;
  height: 41px;
  display: grid;
  place-items: center;
  background: #edf0e3;
  border-radius: 6px;
  color: var(--building-color);
}
.workshop-title h3 {
  font-size: 14px;
}
.workshop-title p {
  font-size: 9px;
  color: #97a087;
  margin-top: 5px;
}
.subheading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 21px 0 12px;
}
.subheading h3 {
  font-size: 11px;
  font-weight: 650;
  color: #738368;
}
.subheading > span {
  font-size: 10px;
  color: #a1ac92;
}
.subheading > .icon {
  width: 15px;
  height: 15px;
  color: #a3af94;
}
.production-queue {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.production-queue:has(> .queue-slot:nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.production-queue:has(> .queue-slot:nth-child(3):last-child) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.queue-slot {
  height: 98px;
  border: 1px solid #e0e6d3;
  background: #f3f4e9;
  border-radius: 6px;
  padding: 8px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
}
.queue-slot:disabled {
  opacity: 1;
  cursor: default;
}
.queue-slot > .art {
  width: 43px;
  height: 48px;
}
.queue-slot > span {
  font-size: 10px;
  color: #a09e79;
}
.queue-slot.done {
  background: #e6eed8;
  border-color: #afc497;
}
.queue-slot.done > span {
  color: #628850;
  font-weight: 600;
}
.queue-slot.empty {
  border-style: dashed;
  background: transparent;
  color: #c1c9b1;
}
.queue-slot.empty > .icon {
  width: 17px;
  height: 17px;
}
.queue-slot.empty > small {
  font-size: 9px;
}
.queue-slot > .progress {
  height: 3px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.queue-check {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 12px;
  height: 12px;
  color: #6f9461;
}
.recipe-heading {
  margin-top: 25px;
}
.recipe-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.recipe {
  border: 1px solid #e3e7d8;
  border-radius: 6px;
  padding: 10px 12px;
}
.recipe-top {
  display: flex;
  align-items: center;
  gap: 8px;
}
.recipe-art {
  width: 38px;
  height: 44px;
  display: block;
  flex-shrink: 0;
}
.recipe-top strong {
  font-size: 12px;
  font-weight: 600;
}
.recipe-top small {
  display: block;
  font-size: 8px;
  color: #9ba68c;
  margin-top: 4px;
}
.recipe-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-top: 7px;
}
.ingredients {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.ingredients .requirement {
  font-size: 10px;
}
.ingredients .art {
  width: 25px;
  height: 30px;
}
.make-button {
  background: #e9eedf;
  color: #6f905e;
  border: 1px solid #d8e2ca;
  width: 33px;
  height: 33px;
}
.construction {
  padding: 30px 4px;
  text-align: center;
}
.construction-icon {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  margin: 0 auto 20px;
  background: #eeeede;
  border-radius: 50%;
  color: #a2a484;
}
.construction-icon .icon {
  width: 35px;
  height: 35px;
  stroke-width: 1.3;
}
.construction h3 {
  font-family: Georgia, serif;
  font-size: 20px;
  font-weight: 400;
}
.construction p {
  font-size: 11px;
  color: #97a086;
  margin: 12px 0 22px;
  line-height: 1.7;
}
.storage-meter {
  margin-top: -12px;
  margin-bottom: 18px;
}
.inventory-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding-bottom: 15px;
}
.filter-tab {
  background: none;
  padding: 6px 8px;
  font-size: 9px;
  border-radius: 4px;
  color: #929d85;
  min-height: 30px;
}
.filter-tab.active {
  background: #e8eedc;
  color: #5d7c50;
}
.price-notice {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 8px;
  font-size: 9px;
  line-height: 1.5;
  color: #9b976e;
  background: #f5f1df;
  border-radius: 4px;
  margin-bottom: 13px;
}
.price-notice .icon {
  width: 16px;
  height: 16px;
  color: #b29f64;
}
.price-notice b {
  font-weight: 650;
  white-space: nowrap;
}
.inventory-item {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid #e9ecdf;
}
.inventory-art {
  display: block;
  width: 48px;
  height: 56px;
  flex-shrink: 0;
}
.inventory-info {
  flex: 1;
  min-width: 0;
}
.inventory-info > strong {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  font-weight: 600;
  gap: 6px;
}
.inventory-info > strong > span {
  font-size: 12px;
  color: #789062;
}
.inventory-info > small {
  display: flex;
  align-items: center;
  font-size: 9px;
  color: #a0a88e;
  margin-top: 5px;
  gap: 5px;
}
.inventory-info .coin-value {
  font-size: 10px;
  gap: 3px;
}
.inventory-info .coin-value > .icon {
  width: 12px;
  height: 12px;
}
.sell-controls {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 9px;
}
.sell-controls .icon {
  width: 11px;
  height: 11px;
}
.inventory-footer {
  font-size: 9px;
  color: #9eaa90;
  display: flex;
  gap: 7px;
  align-items: center;
  padding: 22px 0;
}
.inventory-footer > .icon {
  width: 14px;
  height: 14px;
}
.empty-state {
  padding: 40px 12px;
  text-align: center;
  color: #a7b197;
}
.empty-state > .icon {
  width: 44px;
  height: 44px;
  stroke-width: 1.2;
}
.empty-state h3 {
  font-family: Georgia, serif;
  font-size: 22px;
  font-weight: 400;
  margin: 16px 0 10px;
  color: #798d6b;
}
.empty-state p {
  font-size: 11px;
  line-height: 1.7;
}
.expansion-list {
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.expansion {
  display: flex;
  border: 1px solid #e0e5d5;
  border-radius: 6px;
  overflow: hidden;
  min-height: 128px;
}
.area-picture {
  width: 80px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.area-picture.creek {
  background: #e0eded;
  color: #7a9e9d;
}
.area-picture.sunny {
  background: #f3edcf;
  color: #c0aa65;
}
.area-picture.hill {
  background: #e5ebd6;
  color: #94a270;
}
.area-picture > .icon {
  width: 29px;
  height: 29px;
  stroke-width: 1.4;
}
.area-picture > span {
  font-size: 21px;
  font-family: Georgia, serif;
}
.area-picture small {
  font-size: 7px;
  display: block;
  font-family: 'Segoe UI', sans-serif;
  text-align: center;
  margin-top: 4px;
}
.expansion-copy {
  padding: 12px 10px;
  flex: 1;
  min-width: 0;
}
.expansion-copy > strong {
  font-size: 12px;
}
.expansion-copy > p {
  font-size: 9px;
  line-height: 1.6;
  color: #9aa38b;
  margin: 5px 0 9px;
}
.expansion-copy .button {
  font-size: 9px;
  padding: 6px 9px;
  min-height: 31px;
}
.expansion-copy .coin-value {
  gap: 3px;
}
.expansion-copy .coin-value > .icon {
  width: 13px;
  height: 13px;
}
.owned-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  color: #7f9c6c;
  padding: 3px 0;
}
.owned-label .icon {
  width: 14px;
  height: 14px;
}
.upgrade {
  display: flex;
  gap: 10px;
  padding: 16px 0;
  border-bottom: 1px solid #e5e9da;
}
.upgrade-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 5px;
  background: #edf0e2;
  color: #91a27d;
  display: grid;
  place-items: center;
}
.upgrade-icon > .icon {
  width: 18px;
  height: 18px;
}
.upgrade > div {
  flex: 1;
  min-width: 0;
}
.upgrade strong {
  font-size: 12px;
  font-weight: 600;
}
.upgrade strong > small {
  font-size: 9px;
  color: #9da88e;
  margin-left: 4px;
}
.upgrade p {
  font-size: 10px;
  color: #96a08a;
  line-height: 1.6;
  margin: 4px 0 9px;
}
.upgrade .button {
  font-size: 10px;
}
.journal-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 16px 0 20px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  gap: 5px;
}
.journal-summary > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.journal-summary .icon {
  width: 19px;
  height: 19px;
  color: #94a479;
}
.journal-summary strong {
  font-size: 21px;
  font-weight: 500;
}
.journal-summary small {
  font-size: 8px;
  color: #9ba78d;
}
.chapters {
  display: flex;
  flex-direction: column;
}
.chapter {
  display: flex;
  gap: 11px;
  padding: 15px 0;
  opacity: 0.6;
  border-bottom: 1px solid #e9ecdf;
}
.chapter.current {
  opacity: 1;
}
.chapter.completed {
  opacity: 0.75;
}
.chapter-number {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #ecefe2;
  color: #9caa87;
  font-size: 10px;
  display: grid;
  place-items: center;
}
.chapter-number > .icon {
  width: 13px;
  height: 13px;
}
.chapter.current .chapter-number {
  background: #e1ead2;
  color: #6e8f56;
}
.chapter > div {
  flex: 1;
}
.chapter strong {
  font-size: 11px;
}
.chapter p {
  font-size: 10px;
  color: #92a082;
  line-height: 1.6;
  margin: 5px 0;
}
.chapter small {
  font-size: 9px;
  color: #9da68b;
  display: block;
  margin-top: 7px;
}
.chapter .progress {
  height: 3px;
  margin-top: 10px;
}
.chapter .button {
  margin-top: 10px;
}
.level-stop {
  display: flex;
  gap: 12px;
  margin-bottom: 17px;
  color: #a3ad95;
}
.level-stop > span {
  width: 25px;
  height: 27px;
  display: grid;
  place-items: center;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: #ebeee1;
  font-size: 10px;
  flex-shrink: 0;
}
.level-stop > span > .icon {
  width: 12px;
  height: 12px;
}
.level-stop.unlocked > span {
  background: #e1e9d1;
  color: #789261;
}
.level-stop strong {
  font-size: 11px;
  font-weight: 600;
}
.level-stop p {
  font-size: 9px;
  line-height: 1.5;
  margin: 4px 0;
}
.level-stop small {
  font-size: 8px;
}
.level-stop.unlocked strong {
  color: #6a855a;
}

.toasts {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 20;
  pointer-events: none;
  width: max-content;
  max-width: calc(100vw - 30px);
}
.toast {
  background: #fffef5;
  color: #4c6f52;
  border: 1px solid #d7e2ca;
  border-radius: 7px;
  box-shadow: 0 5px 25px #3e58361a;
  padding: 13px 18px;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  animation: toast-in 0.2s ease-out;
  max-width: 540px;
}
.toast > .icon,
.toast > span > .icon {
  width: 17px;
  height: 17px;
  color: #8aa378;
}
.toast.error {
  color: #a36f50;
  border-color: #e4d6ba;
  background: #fffbef;
}
.toast.error .icon {
  color: #be9b67;
}
.toast.level {
  background: #ecf2de;
  color: #497747;
  border-color: #b2c89b;
}
.toast.level .icon {
  color: #b8a154;
}
dialog {
  padding: 24px;
  border: 1px solid #d8e0cc;
  border-radius: 8px;
  background: #fffef6;
  color: var(--ink);
  max-width: 480px;
  width: calc(100vw - 30px);
  max-height: calc(100dvh - 50px);
  box-shadow: 0 25px 100px #2d50352b;
}
dialog::backdrop {
  background: #2c4b3f55;
  backdrop-filter: blur(3px);
}
.dialog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}
.dialog-header h2 {
  font-family: Georgia, serif;
  font-size: 25px;
  font-weight: 400;
  line-height: 1.3;
}
.dialog-header .icon-button {
  background: #eff2e5;
  flex-shrink: 0;
}
.dialog-header .icon {
  width: 17px;
  height: 17px;
}
.dialog-copy {
  font-size: 13px;
  color: #819275;
  line-height: 1.8;
}
.dialog-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 23px;
  justify-content: flex-end;
}
.help-intro {
  display: flex;
  align-items: center;
  gap: 15px;
}
.help-intro > span {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
}
.help-intro p {
  font-family: Georgia, serif;
  font-size: 16px;
  color: #819171;
  line-height: 1.7;
  font-style: italic;
}
.help-cycle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 22px 0;
  background: #f0f3e5;
  border-radius: 6px;
  padding: 15px;
}
.help-cycle > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
.help-cycle .art {
  width: 46px;
  height: 53px;
}
.help-cycle strong {
  font-size: 10px;
  font-weight: 600;
  color: #829471;
}
.help-cycle > .icon {
  width: 17px;
  height: 17px;
  color: #b3bf9c;
}
.help-rules p {
  font-size: 12px;
  color: #89987c;
  line-height: 1.8;
  margin-bottom: 13px;
}
.help-rules b {
  color: #608056;
  font-weight: 600;
}
.keyboard-note {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  color: #a1ab91;
  line-height: 1.5;
  padding: 10px 0 19px;
}
.keyboard-note .icon {
  width: 17px;
  height: 17px;
}
.settings-list {
  border-top: 1px solid var(--line);
}
.setting-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}
.setting-row > span {
  display: flex;
  align-items: center;
  gap: 11px;
}
.setting-row .icon {
  color: #8da176;
  width: 18px;
  height: 18px;
}
.setting-row input {
  appearance: none;
  width: 36px;
  height: 21px;
  background: #dce3d0;
  border: 0;
  border-radius: 12px;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.2s;
}
.setting-row input:after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 15px;
  height: 15px;
  background: #fffef5;
  border-radius: 50%;
  transition: transform 0.2s;
}
.setting-row input:checked {
  background: #84a16d;
}
.setting-row input:checked:after {
  transform: translateX(15px);
}
.save-tools {
  padding: 25px 0;
}
.save-tools h3 {
  font-size: 13px;
  font-weight: 600;
}
.save-tools p {
  font-size: 11px;
  color: #95a087;
  line-height: 1.8;
  margin: 10px 0 15px;
}
.save-tools > div {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.save-tools > .muted {
  font-size: 10px;
  display: block;
  margin-top: 12px;
}
.reset-row {
  padding-top: 19px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13px;
  font-size: 11px;
  color: #9b9e85;
}
.reset-row .button {
  font-size: 10px;
}
.locked-screen {
  position: fixed;
  inset: 0;
  z-index: 30;
  background: #f6f8edee;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px;
}
.locked-screen > div {
  text-align: center;
  max-width: 380px;
}
.locked-screen h2 {
  font-family: Georgia, serif;
  font-size: 29px;
  font-weight: 400;
}
.locked-screen p {
  font-size: 13px;
  color: #829373;
  margin: 16px 0 24px;
  line-height: 1.7;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes smoke {
  0%,
  100% {
    opacity: 0.25;
    transform: translateY(3px);
  }
  50% {
    opacity: 0.65;
    transform: translateY(-4px);
  }
}
@keyframes glint {
  0%,
  100% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
}
@keyframes float-away {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-36px);
  }
}
@keyframes pulse-flash {
  0% {
    stroke-dasharray: 0 100;
  }
  70% {
    stroke-dasharray: 100 0;
    opacity: 0.8;
  }
  100% {
    opacity: 0;
  }
}
@keyframes toast-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.no-motion *,
.reduced-motion * {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

@media (min-width: 1500px) {
  .game-shell {
    grid-template-columns: 96px minmax(0, 1fr) 350px;
  }
  .farm-main {
    padding-left: 42px;
    padding-right: 42px;
  }
  .side-panel {
    padding-left: 28px;
    padding-right: 28px;
  }
  .farm-heading {
    margin-bottom: 24px;
  }
  .farm-world {
    max-height: 670px;
  }
  .seed {
    min-height: 137px;
  }
  .seed-art {
    height: 65px;
    width: 62px;
  }
  .topbar {
    padding-left: 30px;
    padding-right: 35px;
  }
  .resource-bar {
    gap: 42px;
  }
  .navigation {
    align-items: center;
  }
  .world-bottom {
    bottom: 50px;
  }
  .plot-context strong {
    font-size: 12px;
  }
  .plot-context small {
    font-size: 10px;
  }
  .weather-caption {
    font-size: 10px;
  }
  .world-legend {
    font-size: 10px;
  }
}
@media (max-width: 1200px) {
  .topbar {
    padding: 0 20px;
    gap: 18px;
  }
  .resource-bar {
    gap: 18px;
  }
  .brand strong {
    font-size: 25px;
  }
  .brand small {
    font-size: 7px;
  }
  .brand-mark {
    width: 39px;
    height: 42px;
  }
  .level-resource {
    min-width: 142px;
  }
  .resource strong {
    font-size: 18px;
  }
  .resource small {
    font-size: 7px;
  }
  .header-actions {
    padding-left: 12px;
    gap: 3px;
  }
  .game-shell {
    grid-template-columns: 73px minmax(0, 1fr) 294px;
  }
  .navigation {
    padding: 23px 4px;
  }
  .nav-button {
    width: 60px;
    font-size: 8px;
  }
  .nav-button.active:before {
    left: -6px;
  }
  .farm-main {
    padding: 25px 20px 0;
  }
  .farm-heading h1 {
    font-size: 25px;
  }
  .weather-icon {
    width: 31px;
    height: 31px;
  }
  .weather {
    gap: 6px;
  }
  .weather strong {
    font-size: 10px;
  }
  .weather small {
    font-size: 9px;
  }
  .farm-heading .eyebrow {
    font-size: 8px;
  }
  .side-panel {
    padding: 27px 18px;
  }
  .panel-title h2 {
    font-size: 21px;
  }
  .panel-header .eyebrow {
    font-size: 7px;
  }
  .world-bottom {
    bottom: 43px;
  }
  .weather-caption {
    display: none;
  }
  .plot-context {
    max-width: 100%;
  }
  .seed-tray {
    gap: 5px;
  }
  .seed {
    padding: 6px 4px 8px;
    min-height: 122px;
  }
  .seed-art {
    width: 48px;
    height: 53px;
  }
  .seed strong {
    font-size: 10px;
  }
  .seed-detail {
    font-size: 7px;
  }
  .seed-top {
    padding: 0 2px;
  }
  .quest-strip {
    gap: 10px;
  }
  .quest-copy > span {
    font-size: 9px;
  }
  .quest-strip > .button {
    font-size: 9px;
    padding: 8px;
  }
  .quest-progress {
    min-width: 40px;
  }
  .quest-emblem {
    width: 34px;
    height: 34px;
  }
  .quest-copy strong {
    font-size: 12px;
  }
  .farm-world {
    min-height: 410px;
  }
  .seed-top .family-label {
    font-size: 7px;
  }
  .world-top {
    left: 13px;
    right: 11px;
  }
  .world-bottom {
    left: 13px;
  }
  .world-legend {
    left: 13px;
  }
}
@media (max-width: 1020px) {
  .brand small {
    display: none;
  }
  .brand strong {
    font-size: 24px;
  }
  .resource-bar {
    gap: 14px;
  }
  .resource > .icon {
    width: 21px;
    height: 21px;
  }
  .resource {
    gap: 7px;
    min-width: 66px;
  }
  .level-resource {
    min-width: 130px;
  }
  .level-resource small {
    font-size: 6px;
  }
  .level-badge {
    width: 29px;
    height: 31px;
    font-size: 15px;
  }
  .topbar {
    height: 77px;
    gap: 12px;
    padding: 0 16px;
  }
  .header-actions {
    gap: 0;
    padding-left: 7px;
  }
  .header-actions .icon-button {
    width: 30px;
  }
  .game-shell {
    grid-template-columns: 66px minmax(0, 1fr) 274px;
    min-height: calc(100vh - 77px);
  }
  .nav-button {
    width: 54px;
    font-size: 7px;
  }
  .nav-button > .icon {
    width: 22px;
    height: 22px;
  }
  .navigation {
    padding: 23px 3px;
  }
  .farm-main {
    padding: 21px 15px 0;
  }
  .farm-heading h1 {
    font-size: 22px;
  }
  .weather-icon {
    display: none;
  }
  .farm-heading {
    gap: 8px;
  }
  .weather strong {
    font-size: 9px;
  }
  .weather small {
    font-size: 8px;
  }
  .side-panel {
    padding: 24px 15px;
  }
  .panel-title h2 {
    font-size: 20px;
  }
  .section-caption h2 {
    font-size: 11px;
  }
  .tool-button {
    font-size: 8px;
    padding: 5px 6px;
  }
  .tool-switch {
    gap: 1px;
  }
  .seed-tray {
    overflow-x: auto;
    grid-template-columns: repeat(6, minmax(70px, 1fr));
    padding: 3px 0 6px;
  }
  .farm-world {
    min-height: 400px;
  }
  .quest-strip > .button {
    font-size: 0;
    width: 35px;
    height: 35px;
    min-height: 35px;
    padding: 0;
    gap: 0;
  }
  .quest-strip > .button > .icon {
    width: 17px;
    height: 17px;
  }
  .quest-strip > .button .coin-value {
    display: none;
  }
  .order {
    padding: 12px 10px;
  }
  .order-bottom .button {
    min-width: 98px;
  }
  .panel-header {
    margin-bottom: 21px;
  }
  .market-note {
    gap: 8px;
  }
  .market-note-icon {
    width: 37px;
    height: 42px;
  }
  .neighbor-note {
    gap: 9px;
  }
  .neighbor-note p {
    font-size: 12px;
  }
}
@media (max-width: 850px) {
  .topbar {
    height: auto;
    min-height: 100px;
    flex-wrap: wrap;
    padding: 14px 20px 12px;
    gap: 14px 18px;
  }
  .brand {
    order: 0;
  }
  .brand small {
    display: block;
    font-size: 7px;
  }
  .brand strong {
    font-size: 25px;
  }
  .brand-mark {
    width: 36px;
    height: 40px;
  }
  .header-actions {
    order: 1;
    margin-left: auto;
    border: 0;
    padding: 0;
  }
  .header-actions .icon-button {
    width: 35px;
    height: 35px;
  }
  .resource-bar {
    order: 2;
    width: 100%;
    gap: 18px;
    justify-content: space-between;
  }
  .resource {
    gap: 8px;
    min-width: 70px;
  }
  .resource small {
    font-size: 7px;
  }
  .resource strong {
    font-size: 18px;
  }
  .level-resource {
    min-width: 150px;
    max-width: 210px;
  }
  .level-resource small {
    font-size: 7px;
  }
  .level-badge {
    width: 31px;
    height: 33px;
  }
  .game-shell {
    grid-template-columns: 69px minmax(0, 1fr);
  }
  .navigation {
    grid-row: 1 / 3;
    position: sticky;
    top: 0;
    max-height: 100vh;
    min-height: 570px;
    padding: 22px 4px;
  }
  .nav-button {
    width: 58px;
    font-size: 8px;
  }
  .farm-main {
    padding: 25px 26px 0;
  }
  .farm-heading h1 {
    font-size: 27px;
  }
  .farm-heading .eyebrow {
    font-size: 9px;
  }
  .weather-icon {
    display: grid;
    width: 33px;
    height: 33px;
  }
  .weather strong {
    font-size: 11px;
  }
  .weather small {
    font-size: 9px;
  }
  .weather {
    gap: 8px;
  }
  .farm-world {
    min-height: 390px;
    max-height: 580px;
  }
  .world-section {
    margin: 0 -8px;
  }
  .seed-tray {
    grid-template-columns: repeat(6, minmax(74px, 1fr));
    gap: 7px;
  }
  .seed {
    min-height: 126px;
  }
  .seed strong {
    font-size: 10px;
  }
  .seed-art {
    width: 52px;
    height: 57px;
  }
  .seed-detail {
    font-size: 8px;
  }
  .section-caption h2 {
    font-size: 12px;
  }
  .tool-button {
    font-size: 9px;
    padding: 6px 9px;
  }
  .quest-strip > .button {
    font-size: 10px;
    width: auto;
    height: auto;
    padding: 9px 12px;
    gap: 7px;
  }
  .quest-strip > .button .coin-value {
    display: inline-flex;
  }
  .quest-copy strong {
    font-size: 13px;
  }
  .quest-copy > span {
    font-size: 10px;
  }
  .quest-emblem {
    width: 40px;
    height: 40px;
  }
  .quest-strip {
    gap: 13px;
  }
  .quest-progress {
    min-width: 55px;
  }
  .side-panel {
    grid-column: 2;
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 27px 26px 35px;
    scroll-margin-top: 10px;
  }
  .panel-title h2 {
    font-size: 25px;
  }
  .panel-header .eyebrow {
    font-size: 9px;
  }
  .orders-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .order {
    padding: 12px 9px;
  }
  .customer {
    gap: 7px;
    flex-wrap: wrap;
  }
  .customer .portrait {
    width: 29px;
    height: 29px;
  }
  .customer strong {
    font-size: 11px;
  }
  .customer small {
    font-size: 8px;
  }
  .customer .icon-button {
    display: none;
  }
  .order-items {
    flex-wrap: wrap;
    gap: 5px;
  }
  .order-xp {
    font-size: 8px;
  }
  .order-bottom {
    flex-wrap: wrap;
    gap: 8px;
  }
  .order-bottom .button {
    width: 100%;
    min-width: 0;
    justify-content: space-between;
  }
  .order-reward .coin-value {
    font-size: 15px;
  }
  .market-note {
    max-width: 390px;
  }
  .neighbor-note {
    padding-top: 18px;
  }
  .building-tab {
    padding: 12px;
  }
  .building-tab span {
    font-size: 11px;
  }
  .production-queue {
    max-width: 420px;
  }
  .recipe-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .recipe-top strong {
    font-size: 12px;
  }
  .recipe-top small {
    font-size: 9px;
  }
  .recipe {
    padding: 13px;
  }
  .ingredients .art {
    width: 30px;
    height: 36px;
  }
  .ingredients .requirement {
    font-size: 11px;
  }
  .make-button {
    width: 38px;
    height: 38px;
  }
  .inventory-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 20px;
  }
  .inventory-info > strong {
    font-size: 12px;
  }
  .sell-controls {
    gap: 6px;
  }
  .filter-tab {
    font-size: 11px;
    padding: 8px 12px;
  }
  .expansion-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .expansion {
    flex-direction: column;
  }
  .area-picture {
    width: 100%;
    height: 90px;
    flex-direction: row;
    gap: 16px;
  }
  .upgrade-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 20px;
  }
  .chapters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 25px;
  }
  .level-road {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 25px;
  }
  .chapter {
    padding: 20px 0;
  }
  .journal-summary {
    max-width: 450px;
  }
  .chapter p {
    font-size: 11px;
  }
  .chapter strong {
    font-size: 12px;
  }
  .level-stop strong {
    font-size: 12px;
  }
  .level-stop p {
    font-size: 10px;
  }
  .inventory-item {
    padding: 17px 0;
  }
  .inventory-art {
    width: 48px;
  }
  .inventory-info .button.mini {
    font-size: 9px;
    padding: 6px;
  }
  .inventory-item .button.quiet {
    gap: 3px;
  }
  .world-bottom {
    bottom: 45px;
  }
  .plot-context strong {
    font-size: 11px;
  }
  .plot-context small {
    font-size: 9px;
  }
}
@media (max-width: 600px) {
  .topbar {
    padding: 13px 17px 12px;
    gap: 15px 8px;
  }
  .brand strong {
    font-size: 25px;
  }
  .brand-mark {
    width: 35px;
    height: 39px;
  }
  .brand-mark .icon {
    width: 25px;
    height: 25px;
  }
  .brand small {
    font-size: 6px;
    margin-top: 4px;
  }
  .resource-bar {
    gap: 10px;
  }
  .resource {
    gap: 6px;
    min-width: 0;
  }
  .resource > .icon {
    width: 20px;
    height: 20px;
  }
  .resource strong {
    font-size: 17px;
  }
  .resource small {
    font-size: 6px;
  }
  .resource em {
    font-size: 9px;
  }
  .level-resource {
    min-width: 0;
    max-width: none;
    flex: 1;
    margin-left: 3px;
  }
  .level-resource small {
    font-size: 0;
  }
  .level-resource small:before {
    content: 'CẤP VƯỜN';
    font-size: 6px;
  }
  .level-resource > .level-badge {
    width: 28px;
    height: 30px;
    font-size: 14px;
  }
  .xp-line {
    margin-top: 6px;
    gap: 4px;
  }
  .xp-line > .progress {
    min-width: 35px;
    height: 4px;
  }
  .xp-line > span {
    font-size: 7px;
  }
  .water-resource > span > small {
    font-size: 0;
  }
  .water-resource > span > small:before {
    content: 'NƯỚC';
    font-size: 6px;
  }
  .inventory-resource {
    margin-left: 3px;
  }
  .inventory-resource .icon {
    width: 20px;
    height: 20px;
  }
  .game-shell {
    display: block;
    min-height: 0;
    padding-bottom: 76px;
  }
  .navigation {
    position: fixed;
    top: auto;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 10;
    min-height: 0;
    height: 69px;
    display: flex;
    flex-direction: row;
    padding: 4px 9px max(4px, env(safe-area-inset-bottom));
    background: #fffef5f5;
    border: 0;
    border-top: 1px solid #dbe3ce;
    max-height: none;
    gap: 0;
    backdrop-filter: blur(12px);
  }
  .nav-main {
    flex-direction: row;
    justify-content: space-between;
    flex: 1;
    gap: 2px;
  }
  .nav-button {
    min-height: 55px;
    height: 55px;
    width: 60px;
    font-size: 8px;
    gap: 5px;
    border-radius: 5px;
  }
  .nav-button > .icon {
    width: 22px;
    height: 22px;
  }
  .nav-button.active:before {
    display: none;
  }
  .nav-bottom {
    display: none;
  }
  .farm-main {
    padding: 21px 18px 0;
  }
  .farm-heading {
    margin-bottom: 19px;
    gap: 9px;
  }
  .farm-heading h1 {
    font-size: 24px;
    margin-top: 7px;
    max-width: 235px;
  }
  .farm-heading .eyebrow {
    font-size: 8px;
  }
  .weather {
    gap: 6px;
  }
  .weather-icon {
    width: 30px;
    height: 30px;
    display: none;
  }
  .weather strong {
    font-size: 9px;
  }
  .weather small {
    font-size: 8px;
  }
  .world-section {
    margin: 0 -18px;
    border-radius: 0;
  }
  .world-scroll {
    height: 419px;
    overflow: auto;
    overscroll-behavior-x: contain;
  }
  .world {
    min-width: 610px;
    width: 100%;
    height: 419px;
  }
  .farm-world {
    height: 419px;
    width: 100%;
    min-height: 0;
    max-height: none;
  }
  .world-top {
    top: 13px;
    left: 15px;
    right: 14px;
  }
  .world-tools .icon-button {
    width: 30px;
    height: 30px;
  }
  .farm-sign {
    font-size: 9px;
  }
  .world-bottom {
    left: 15px;
    right: 15px;
    bottom: 43px;
  }
  .context-icon {
    width: 30px;
    height: 32px;
  }
  .plot-context strong {
    font-size: 10px;
  }
  .plot-context small {
    font-size: 8px;
    max-width: 280px;
  }
  .context-item {
    width: 33px;
    height: 39px;
  }
  .plot-context {
    gap: 7px;
    max-width: 100%;
    background: #e3ecd4dd;
    border-radius: 5px;
    padding: 5px 9px 5px 4px;
    min-height: 41px;
  }
  .world-legend {
    left: 15px;
    bottom: 9px;
    font-size: 8px;
    gap: 6px;
  }
  .world-legend .icon-button {
    width: 23px;
    height: 23px;
  }
  .planting-section {
    padding-top: 20px;
  }
  .planting-heading {
    margin-bottom: 9px;
    gap: 9px;
  }
  .section-caption {
    gap: 5px;
  }
  .section-caption h2 {
    font-size: 11px;
  }
  .section-caption .icon {
    width: 15px;
    height: 15px;
  }
  .tool-button {
    padding: 6px 7px;
    font-size: 8px;
    min-height: 31px;
  }
  .tool-button .icon {
    width: 13px;
    height: 13px;
  }
  .tool-button[data-mode='marker'] > span {
    display: none;
  }
  .seed-tray {
    margin: 0 -18px;
    padding: 4px 18px 9px;
    grid-template-columns: repeat(6, 83px);
    gap: 7px;
    scrollbar-width: none;
    overflow-x: auto;
  }
  .seed-tray::-webkit-scrollbar {
    display: none;
  }
  .seed {
    min-height: 124px;
  }
  .seed strong {
    font-size: 10px;
  }
  .seed-detail {
    font-size: 8px;
  }
  .seed-art {
    width: 51px;
    height: 55px;
  }
  .seed-top .family-label {
    font-size: 7px;
  }
  .quest-strip {
    margin-top: 16px;
    padding: 17px 0;
    gap: 10px;
    min-height: 95px;
  }
  .quest-emblem {
    width: 34px;
    height: 34px;
  }
  .quest-emblem .icon {
    width: 18px;
    height: 18px;
  }
  .quest-copy strong {
    font-size: 12px;
  }
  .quest-copy > span {
    font-size: 9px;
    line-height: 1.5;
  }
  .quest-copy small {
    font-size: 7px;
  }
  .quest-progress {
    min-width: 37px;
  }
  .quest-strip > .button {
    font-size: 0;
    width: 33px;
    height: 34px;
    padding: 0;
    gap: 0;
    min-height: 34px;
    margin-left: 1px;
  }
  .quest-strip > .button > .icon {
    width: 17px;
    height: 17px;
  }
  .quest-strip > .button .coin-value {
    display: none;
  }
  .farm-footer {
    font-size: 8px;
    padding: 13px 0 17px;
  }
  .farm-footer > button {
    font-size: 8px;
  }
  .side-panel {
    padding: 26px 18px 30px;
    scroll-margin-top: 10px;
  }
  .panel-header {
    margin-bottom: 20px;
  }
  .panel-title h2 {
    font-size: 25px;
  }
  .panel-header .eyebrow {
    font-size: 8px;
  }
  .panel-header p {
    font-size: 10px;
  }
  .orders-list {
    display: flex;
    gap: 12px;
  }
  .order {
    padding: 14px 15px;
  }
  .customer {
    gap: 10px;
    flex-wrap: nowrap;
  }
  .customer .portrait {
    width: 39px;
    height: 39px;
  }
  .customer strong {
    font-size: 13px;
  }
  .customer small {
    font-size: 10px;
  }
  .customer .icon-button {
    display: flex;
    width: 32px;
    height: 32px;
  }
  .customer .icon-button .icon {
    width: 15px;
    height: 15px;
  }
  .order-items {
    margin: 14px 0;
    flex-wrap: nowrap;
    gap: 10px;
  }
  .requirement {
    font-size: 12px;
  }
  .requirement > .art {
    width: 35px;
    height: 41px;
  }
  .requirement .muted {
    font-size: 11px;
  }
  .order-xp {
    font-size: 10px;
  }
  .order-bottom {
    flex-wrap: nowrap;
    padding-top: 12px;
  }
  .order-bottom .button {
    width: auto;
    min-width: 127px;
    min-height: 40px;
    font-size: 11px;
    justify-content: center;
    gap: 20px;
  }
  .order-reward .coin-value {
    font-size: 18px;
  }
  .order-reward .coin-value > .icon {
    width: 20px;
    height: 20px;
  }
  .market-note {
    max-width: none;
  }
  .market-note-icon {
    width: 45px;
    height: 49px;
  }
  .market-note .eyebrow {
    font-size: 9px;
  }
  .market-note strong {
    font-size: 13px;
  }
  .market-note > div > span {
    font-size: 10px;
  }
  .market-note > .icon-button {
    width: 38px;
    height: 38px;
  }
  .neighbor-note {
    padding-top: 25px;
    gap: 15px;
  }
  .neighbor-note p {
    font-size: 14px;
  }
  .neighbor-avatar {
    width: 43px;
    height: 43px;
  }
  .neighbor-note small {
    font-size: 8px;
  }
  .building-tab {
    padding: 13px 3px;
    gap: 7px;
  }
  .building-tab span {
    font-size: 9px;
  }
  .workshop-title h3 {
    font-size: 15px;
  }
  .workshop-title p {
    font-size: 10px;
  }
  .subheading h3 {
    font-size: 12px;
  }
  .recipe-list {
    display: flex;
    gap: 12px;
  }
  .recipe {
    padding: 13px;
  }
  .recipe-art {
    width: 43px;
    height: 49px;
  }
  .recipe-top strong {
    font-size: 13px;
  }
  .recipe-top small {
    font-size: 10px;
  }
  .recipe-bottom {
    margin-top: 9px;
  }
  .make-button {
    width: 42px;
    height: 42px;
  }
  .ingredients .art {
    width: 30px;
    height: 35px;
  }
  .ingredients .requirement {
    font-size: 12px;
  }
  .queue-slot {
    height: 107px;
  }
  .queue-slot > span {
    font-size: 11px;
  }
  .queue-slot > .art {
    width: 46px;
    height: 53px;
  }
  .queue-slot.empty > small {
    font-size: 10px;
  }
  .inventory-list {
    display: flex;
    flex-direction: column;
  }
  .inventory-info > strong {
    font-size: 13px;
  }
  .inventory-info > strong > span {
    font-size: 14px;
  }
  .inventory-info > small {
    font-size: 10px;
  }
  .inventory-info .coin-value {
    font-size: 12px;
  }
  .inventory-info .coin-value > .icon {
    width: 14px;
    height: 14px;
  }
  .inventory-item {
    gap: 13px;
  }
  .inventory-art {
    width: 56px;
    height: 62px;
  }
  .sell-controls {
    margin-top: 10px;
    gap: 7px;
  }
  .inventory-item .button.mini {
    font-size: 10px;
    min-height: 38px;
    padding: 8px 11px;
  }
  .price-notice {
    font-size: 10px;
    padding: 12px;
  }
  .filter-tab {
    padding: 8px 9px;
    font-size: 10px;
    min-height: 36px;
  }
  .inventory-footer {
    font-size: 10px;
  }
  .expansion-list {
    display: flex;
    gap: 12px;
  }
  .expansion {
    flex-direction: row;
    min-height: 137px;
  }
  .area-picture {
    width: 97px;
    height: auto;
    flex-direction: column;
    gap: 10px;
  }
  .area-picture > .icon {
    width: 31px;
    height: 31px;
  }
  .area-picture > span {
    font-size: 23px;
  }
  .area-picture small {
    font-size: 8px;
  }
  .expansion-copy {
    padding: 14px;
  }
  .expansion-copy > strong {
    font-size: 14px;
  }
  .expansion-copy > p {
    font-size: 10px;
  }
  .expansion-copy .button {
    font-size: 11px;
    min-height: 36px;
    padding: 8px 13px;
  }
  .upgrade-list {
    display: flex;
    flex-direction: column;
  }
  .upgrade {
    padding: 19px 0;
    gap: 13px;
  }
  .upgrade-icon {
    width: 40px;
    height: 40px;
  }
  .upgrade strong {
    font-size: 13px;
  }
  .upgrade p {
    font-size: 11px;
  }
  .upgrade .button {
    min-height: 36px;
    font-size: 11px;
  }
  .chapters {
    display: flex;
  }
  .chapter strong {
    font-size: 13px;
  }
  .chapter p {
    font-size: 11px;
  }
  .chapter small {
    font-size: 10px;
  }
  .chapter-number {
    width: 30px;
    height: 30px;
    font-size: 11px;
  }
  .level-road {
    display: flex;
    flex-direction: column;
  }
  .level-stop strong {
    font-size: 13px;
  }
  .level-stop p {
    font-size: 11px;
  }
  .level-stop small {
    font-size: 9px;
  }
  .journal-summary small {
    font-size: 9px;
  }
  .journal-summary strong {
    font-size: 24px;
  }
  .toasts {
    bottom: 83px;
    width: calc(100vw - 26px);
    max-width: 500px;
  }
  .toast {
    font-size: 11px;
    padding: 12px 14px;
    line-height: 1.6;
  }
  .help-cycle {
    gap: 9px;
    padding: 13px 9px;
  }
  .help-cycle .art {
    width: 39px;
    height: 46px;
  }
  .help-cycle > .icon {
    width: 15px;
    height: 15px;
  }
  .help-intro > span {
    width: 53px;
    height: 53px;
  }
  .help-intro p {
    font-size: 14px;
  }
  .help-intro {
    gap: 10px;
  }
  dialog {
    padding: 21px;
  }
  .dialog-header h2 {
    font-size: 23px;
  }
  .help-rules p {
    font-size: 11px;
  }
  .keyboard-note {
    display: none;
  }
  .help-dialog > .button {
    margin-top: 7px;
  }
  .reset-row {
    font-size: 10px;
  }
  .save-tools > div .button {
    font-size: 11px;
    flex: 1;
  }
  .save-tools > p {
    font-size: 11px;
  }
  .setting-row {
    font-size: 12px;
  }
  .dialog-buttons .button {
    flex: 1;
    font-size: 11px;
  }
}
@media (max-width: 360px) {
  .topbar {
    padding: 12px;
    gap: 13px 5px;
  }
  .resource-bar {
    gap: 7px;
  }
  .resource {
    gap: 4px;
  }
  .resource > .icon {
    width: 17px;
    height: 17px;
  }
  .resource strong {
    font-size: 15px;
  }
  .level-resource {
    margin-left: 0;
  }
  .resource small {
    font-size: 5px;
  }
  .xp-line > span {
    font-size: 6px;
  }
  .xp-line .progress {
    min-width: 24px;
  }
  .brand strong {
    font-size: 23px;
  }
  .farm-heading h1 {
    font-size: 21px;
  }
  .farm-main {
    padding-left: 14px;
    padding-right: 14px;
  }
  .world-section {
    margin-left: -14px;
    margin-right: -14px;
  }
  .farm-heading .eyebrow {
    font-size: 7px;
  }
  .weather strong {
    font-size: 8px;
  }
  .weather small {
    font-size: 7px;
  }
  .nav-button {
    width: 54px;
    font-size: 7px;
  }
  .section-caption h2 {
    font-size: 10px;
  }
  .tool-button {
    padding: 6px 5px;
    font-size: 7px;
  }
  .seed-tray {
    margin-left: -14px;
    margin-right: -14px;
    padding-left: 14px;
    padding-right: 14px;
  }
  .quest-emblem {
    display: none;
  }
  .quest-strip {
    gap: 8px;
  }
  .farm-footer {
    font-size: 7px;
  }
  .farm-footer > span {
    gap: 3px;
  }
  .help-cycle {
    gap: 6px;
  }
  .help-cycle .art {
    width: 34px;
  }
  .help-intro p {
    font-size: 13px;
  }
}

/* Cambria includes the Vietnamese glyphs used in the display type. */
.brand strong,
.farm-heading h1,
.panel-title h2,
.neighbor-note p,
.construction h3,
.empty-state h3,
.dialog-header h2,
.help-intro p,
.locked-screen h2 {
  font-family: Cambria, 'Times New Roman', serif;
}
:root {
  --muted: #6b7865;
}
.eyebrow,
.brand small,
.resource small,
.xp-line > span,
.weather small,
.panel-header .eyebrow,
.panel-header p,
.customer small,
.order-xp,
.market-note .eyebrow,
.market-note > div > span,
.neighbor-note p,
.neighbor-note small,
.farm-footer,
.farm-footer > button,
.seed-detail,
.quest-copy > span,
.quest-copy small,
.quest-progress small,
.nav-button,
.nav-bottom > .icon-button,
.tool-button,
.farm-sign,
.plot-context small,
.weather-caption,
.world-legend,
.context-family,
.workshop-title p,
.subheading > span,
.recipe-top small,
.inventory-info > small,
.inventory-footer,
.upgrade p,
.expansion-copy > p,
.chapter p,
.chapter small,
.level-stop p,
.level-stop small,
.journal-summary small,
.help-rules p,
.keyboard-note,
.save-tools p,
.save-tools > .muted,
.setting-row,
.reset-row,
.filter-tab {
  color: #69785f;
}
.seed-detail > span,
.requirement .muted,
.resource em {
  color: #768069;
}
.order-xp {
  font-size: 10px;
}
.customer strong {
  font-size: 13px;
}
.customer small {
  font-size: 10px;
}
.requirement {
  font-size: 12px;
}
.panel-header p {
  font-size: 11px;
}
.order-bottom .button {
  font-size: 11px;
}
.market-note > div > span {
  font-size: 10px;
}
.help-rules b {
  color: #416d45;
}
.family-label.root {
  color: #935942;
}
.family-label.leaf {
  color: #496c3a;
}
.family-label.bloom {
  color: #887034;
}
.price-notice,
.queue-slot > span {
  color: #817244;
}
.owned-label,
.chapter.current .chapter-number,
.queue-slot.done > span {
  color: #507541;
}
.muted-button {
  opacity: 0.75 !important;
  color: #6f7b60;
}
.level-stop.unlocked strong {
  color: #507341;
}
@media (min-width: 601px) {
  .farm-world {
    height: clamp(340px, calc(100dvh - 470px), 550px);
    min-height: 0;
    max-height: none;
  }
  .world-scroll {
    min-height: 340px;
  }
  .world-bottom {
    bottom: 43px;
  }
  .plot-context {
    background: #e4ecd7e8;
    border-radius: 5px;
    padding: 6px 9px 6px 5px;
  }
  .weather-caption {
    background: #e4ecd7df;
    border-radius: 3px;
    padding: 5px 7px;
  }
  .side-panel {
    padding-top: 29px;
  }
  .order {
    padding-top: 13px;
    padding-bottom: 11px;
  }
}
@media (max-width: 600px) {
  .world-scroll,
  .world,
  .farm-world {
    height: 370px;
  }
  .header-actions .icon-button {
    width: 40px;
    height: 40px;
  }
  .world-tools .icon-button {
    width: 34px;
    height: 34px;
  }
  .customer small {
    font-size: 10px;
  }
  .panel-header p {
    font-size: 10px;
  }
  .world-legend .icon-button {
    width: 25px;
    height: 25px;
  }
  .seed-tray {
    padding-bottom: 10px;
  }
  .farm-heading h1 {
    line-height: 1.3;
  }
  .nav-button {
    min-width: 0;
    flex: 1;
  }
  .side-panel .icon-button {
    min-width: 36px;
    min-height: 36px;
  }
}
@media (max-width: 600px) {
  .level-resource small {
    font-size: 0;
  }
  .level-resource small:before {
    font-size: 6px;
  }
  .water-resource > span > small {
    font-size: 0;
  }
  .water-resource > span > small:before {
    font-size: 6px;
  }
}
