.mlg-game {
  --mlg-ink: #4f594a;
  --mlg-muted: #72806a;
  --mlg-bg: #f4efdf;
  --mlg-card: #fffdf6;
  --mlg-cream: #fff8e8;
  --mlg-border: #d7d0ae;
  --mlg-green: #6f9d55;
  --mlg-deep-green: #39713a;
  --mlg-mint: #e5f0dc;
  --mlg-gold: #d8ae4d;
  --mlg-brown: #9b704d;
  --mlg-red: #b96559;
  --mlg-shadow: rgba(73, 80, 56, 0.18);
  --mlg-game-height: min(590px, calc(100vh - 82px));
  color: var(--mlg-ink);
  font-family: "Baloo 2", "Baloo Chettan 2", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  width: 100%;
  box-sizing: border-box;
}

.mlg-game * {
  box-sizing: border-box;
}

.mlg-game button,
.mlg-game input,
.mlg-game select {
  font-family: inherit;
}

.mlg-shell {
  width: min(1210px, 100%);
  margin: 0 auto;
  background: linear-gradient(135deg, #f8f2dd, #e7efd9);
  border: 3px solid var(--mlg-border);
  border-radius: 26px;
  padding: 10px;
  box-shadow: 0 20px 42px var(--mlg-shadow);
  overflow: hidden;
}

.mlg-hud {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  min-height: 42px;
  margin-bottom: 8px;
}

.mlg-brand span,
.mlg-modal-kicker,
.mlg-inventory > span,
.mlg-assistant-head span {
  display: block;
  color: var(--mlg-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.07em;
  line-height: 1.1;
  text-transform: uppercase;
}

.mlg-brand strong {
  display: block;
  color: var(--mlg-ink);
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1;
}

.mlg-wallet {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 110px;
  justify-content: center;
  background: var(--mlg-card);
  border: 3px solid var(--mlg-gold);
  border-radius: 999px;
  padding: 7px 16px;
  box-shadow: 0 7px 0 rgba(111, 83, 32, 0.13);
  color: var(--mlg-ink);
  font-size: 20px;
}

.mlg-coins {
  position: relative;
  display: inline-block;
  width: 32px;
  height: 24px;
}

.mlg-coins i {
  position: absolute;
  width: 21px;
  height: 21px;
  background: #f2c95e;
  border: 3px solid #a77b2a;
  border-radius: 50%;
}

.mlg-coins i:nth-child(1) { left: 0; top: 3px; }
.mlg-coins i:nth-child(2) { left: 7px; top: 0; }
.mlg-coins i:nth-child(3) { left: 14px; top: 4px; }

.mlg-save {
  justify-self: end;
  color: var(--mlg-muted);
  background: rgba(255,255,255,0.75);
  border: 2px solid var(--mlg-border);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
}

.mlg-main-grid {
  display: grid;
  grid-template-columns: minmax(420px, 1.08fr) minmax(355px, 0.92fr);
  gap: 12px;
  height: var(--mlg-game-height);
  min-height: 0;
}

.mlg-play-card,
.mlg-control-card {
  background: var(--mlg-card);
  border: 3px solid var(--mlg-border);
  border-radius: 22px;
  overflow: hidden;
  height: var(--mlg-game-height);
  min-height: 0;
}

.mlg-control-card {
  padding: 10px;
  height: var(--mlg-game-height);
  max-height: var(--mlg-game-height);
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 10px;
}

.mlg-light-panel {
  background: #fff7df;
  border-bottom: 3px solid var(--mlg-border);
  padding: 8px 12px 6px;
}

.mlg-light-head,
.mlg-light-scale,
.mlg-resource span,
.mlg-assistant-head,
.mlg-bottom-row,
.mlg-debug-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.mlg-light-head span {
  font-weight: 900;
}

.mlg-light-head strong,
.mlg-light-scale {
  color: var(--mlg-muted);
  font-size: 13px;
}

.mlg-range {
  width: 100%;
  accent-color: var(--mlg-green);
}

.mlg-play-screen {
  position: relative;
  height: calc(var(--mlg-game-height) - 54px);
  min-height: 390px;
  max-height: 700px;
  background: #dfe9ce;
  overflow: hidden;
}

.mlg-play-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 72% 18%, rgba(255, 252, 205, 0.5), transparent 24%),
    linear-gradient(180deg, #dfead0 0%, #e9efd9 62%, #d7c5a5 62%, #d7c5a5 100%);
}

.mlg-play-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.22) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,0.20) 1px, transparent 1px);
  background-size: 34px 34px;
  opacity: 0.45;
}

.mlg-light-wash {
  position: absolute;
  top: 0;
  left: 18%;
  width: 55%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 249, 196, 0.22), transparent);
  transform: skewX(-12deg);
  opacity: 0.65;
}

.mlg-floor {
  position: absolute;
  left: 11%;
  right: 11%;
  bottom: 38px;
  height: 22px;
  background: #9a704d;
  border: 5px solid #705135;
  border-radius: 9px;
  box-shadow: 0 13px 0 rgba(67, 62, 46, 0.12);
}

.mlg-screen-buttons {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 80;
  display: flex;
  gap: 8px;
}

.mlg-float-btn,
.mlg-tab,
.mlg-resource,
.mlg-store-grid button,
.mlg-deep-card,
.mlg-assistant-head button,
.mlg-bottom-row button,
.mlg-debug-actions button,
.mlg-close {
  border: 3px solid var(--mlg-border);
  background: var(--mlg-card);
  color: var(--mlg-ink);
  border-radius: 16px;
  padding: 8px 10px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 6px 0 rgba(77, 84, 58, 0.11);
  transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.mlg-float-btn:hover,
.mlg-tab:hover,
.mlg-resource:hover,
.mlg-store-grid button:hover,
.mlg-deep-card:hover,
.mlg-assistant-head button:hover,
.mlg-bottom-row button:hover,
.mlg-debug-actions button:hover,
.mlg-close:hover {
  transform: translateY(-1px);
  border-color: var(--mlg-green);
}

.mlg-float-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  background: rgba(255,253,246,0.92);
}

.mlg-float-btn.mlg-active {
  background: var(--mlg-mint);
  border-color: var(--mlg-green);
}

.mlg-css-icon {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 18px;
}

.mlg-icon-search::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 1px;
  width: 11px;
  height: 11px;
  border: 3px solid var(--mlg-green);
  border-radius: 50%;
}

.mlg-icon-search::after {
  content: "";
  position: absolute;
  right: 1px;
  bottom: 1px;
  width: 8px;
  height: 3px;
  background: var(--mlg-green);
  transform: rotate(45deg);
  border-radius: 999px;
}

.mlg-icon-info::before {
  content: "i";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border: 3px solid var(--mlg-green);
  border-radius: 50%;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}

.mlg-effect-layer,
.mlg-scan-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.mlg-effect-layer {
  z-index: 70;
}

.mlg-scan-overlay {
  display: none;
  z-index: 120;
  align-items: center;
  justify-content: center;
  background: rgba(255, 250, 238, 0.58);
  overflow: hidden;
}

.mlg-game.mlg-scanning .mlg-scan-overlay {
  display: flex;
}

.mlg-scan-line {
  position: absolute;
  left: 0;
  right: 0;
  top: -20%;
  height: 72px;
  background: rgba(111, 157, 85, 0.25);
  border-top: 4px solid rgba(111, 157, 85, 0.55);
  border-bottom: 4px solid rgba(111, 157, 85, 0.55);
  animation: mlgScan 1.1s linear infinite;
}

@keyframes mlgScan {
  from { top: -20%; }
  to { top: 112%; }
}

.mlg-plant-holder {
  position: absolute;
  left: 50%;
  bottom: 10px;
  width: min(380px, 82%);
  height: 84%;
  transform: translateX(-50%);
  z-index: 30;
  transition: transform 0.25s ease, bottom 0.25s ease;
}

.mlg-game.mlg-inspecting .mlg-play-bg {
  opacity: 0.25;
}

.mlg-game.mlg-inspecting .mlg-floor {
  opacity: 0.3;
}

.mlg-game.mlg-inspecting .mlg-plant-holder {
  bottom: 8px;
  transform: translateX(-50%) scale(1.10);
}

.mlg-plant-card {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 90;
  background: rgba(255,253,246,0.95);
  border: 3px solid var(--mlg-border);
  border-radius: 16px;
  padding: 8px 10px;
  box-shadow: 0 7px 0 rgba(77, 84, 58, 0.10);
}

.mlg-plant-card strong,
.mlg-plant-card span {
  display: block;
}

.mlg-plant-card span {
  color: var(--mlg-muted);
  font-size: 13px;
}

.mlg-tabs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 7px;
}

.mlg-tab {
  min-height: 60px;
  padding: 5px 4px;
  text-align: center;
}

.mlg-tab.mlg-active {
  background: var(--mlg-mint);
  border-color: var(--mlg-green);
}

.mlg-tab b {
  display: block;
  font-size: 12px;
}

.mlg-tab-icon {
  position: relative;
  display: block;
  width: 30px;
  height: 28px;
  margin: 0 auto 4px;
}

.mlg-tab-water::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 3px;
  width: 14px;
  height: 21px;
  background: #8cc2cc;
  border: 3px solid #5f9aa4;
  border-radius: 9px 9px 12px 12px;
}

.mlg-tab-tools::before,
.mlg-tab-tools::after {
  content: "";
  position: absolute;
  top: 0;
  width: 8px;
  height: 28px;
  background: #8c7358;
  border: 2px solid #594533;
  border-radius: 999px;
}
.mlg-tab-tools::before { left: 9px; transform: rotate(37deg); }
.mlg-tab-tools::after { right: 9px; transform: rotate(-37deg); }

.mlg-tab-store-icon::before {
  content: "";
  position: absolute;
  left: 3px;
  right: 3px;
  bottom: 1px;
  height: 18px;
  background: #d8a95a;
  border: 3px solid #8e6b36;
  border-radius: 5px;
}
.mlg-tab-store-icon::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 12px;
  background: repeating-linear-gradient(90deg, #f6dfa0 0 8px, #c96f5c 8px 16px);
  border: 3px solid #8e6b36;
  border-radius: 6px;
}

.mlg-tab-bot::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 3px;
  width: 22px;
  height: 22px;
  background: var(--mlg-mint);
  border: 3px solid var(--mlg-green);
  border-radius: 9px;
}
.mlg-tab-bot::after {
  content: "• •";
  position: absolute;
  left: 8px;
  top: 5px;
  letter-spacing: 3px;
  font-weight: 900;
}

.mlg-tab-debug::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 5px;
  width: 20px;
  height: 20px;
  border: 3px solid var(--mlg-red);
  border-radius: 6px;
}
.mlg-tab-debug::after {
  content: "";
  position: absolute;
  left: 13px;
  top: 0;
  width: 4px;
  height: 30px;
  background: var(--mlg-red);
  border-radius: 999px;
}

.mlg-panel {
  display: none;
  min-height: 0;
  overflow: hidden;
  background: #fff8e8;
  border: 3px solid var(--mlg-border);
  border-radius: 18px;
  padding: 11px;
}

.mlg-panel.mlg-active {
  display: flex;
  flex-direction: column;
}


.mlg-stack,
.mlg-store-grid,
.mlg-deep-grid,
.mlg-debug-toggles,
.mlg-debug-actions {
  display: grid;
  gap: 6px;
}

.mlg-resource {
  width: 100%;
  text-align: left;
}

.mlg-resource span em {
  color: var(--mlg-muted);
  font-style: normal;
}

.mlg-meter {
  display: block;
  height: 13px;
  margin-top: 8px;
  background: #ede7d3;
  border: 2px solid var(--mlg-border);
  border-radius: 999px;
  overflow: hidden;
}

.mlg-meter u {
  display: block;
  height: 100%;
  width: 100%;
  transition: width 0.2s ease;
  text-decoration: none;
}

[data-mlg-water-bar] { background: #79b7c2; }
[data-mlg-fertilizer-bar] { background: #d3ba55; }
[data-mlg-insect-bar] { background: #8eae63; }
[data-mlg-fungus-bar] { background: #b8935d; }

.mlg-resource.mlg-watering {
  background: #e4f4f6;
  border-color: #6faab3;
}

.mlg-message {
  margin-top: 8px;
  color: var(--mlg-muted);
  font-size: 12px;
  font-weight: 700;
}

.mlg-deep-card.mlg-locked {
  opacity: 0.62;
}

.mlg-deep-card small,
.mlg-store-grid span,
.mlg-assistant p,
.mlg-report-age {
  display: block;
  margin-top: 3px;
  color: var(--mlg-muted);
  font-size: 12px;
  font-weight: 700;
}

.mlg-store-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mlg-store-grid button {
  text-align: left;
}

.mlg-inventory {
  margin-top: 11px;
}

.mlg-inventory > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.mlg-pill {
  background: white;
  border: 2px solid var(--mlg-border);
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--mlg-muted);
  font-size: 12px;
  font-weight: 800;
}

.mlg-assistant-head button {
  width: auto;
  background: var(--mlg-mint);
}

.mlg-report {
  margin-top: 8px;
  color: var(--mlg-muted);
  background: white;
  border: 3px solid var(--mlg-border);
  border-radius: 15px;
  padding: 11px;
  font-size: 13px;
}

.mlg-report-section {
  margin: 7px 0;
}

.mlg-report-section strong {
  color: var(--mlg-ink);
}

.mlg-debug-row {
  margin-bottom: 7px;
  color: var(--mlg-muted);
  font-weight: 900;
}

.mlg-debug-row select,
.mlg-debug-row input,
.mlg-bottom-row select {
  border: 2px solid var(--mlg-border);
  border-radius: 12px;
  padding: 7px 8px;
  color: var(--mlg-ink);
  font-weight: 800;
  background: white;
}

.mlg-debug-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 9px;
  background: white;
  border: 2px solid var(--mlg-border);
  border-radius: 14px;
  padding: 6px 9px;
  font-weight: 800;
}

.mlg-debug-toggles {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mlg-debug-actions {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 6px;
  gap:6px;
}


.mlg-debug-actions button {
  text-align: center;
  font-size: 12px;
  padding: 8px;
}

.mlg-bottom-row {
  gap: 9px;
}

.mlg-bottom-row button {
  width: 100%;
  text-align: center;
  padding: 9px;
}

.mlg-plant-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 12px 0 rgba(70, 60, 38, 0.10));
}

.mlg-stem,
.mlg-petiole {
  fill: none;
  stroke: #447a3a;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mlg-stem { stroke-width: 13; }
.mlg-petiole { stroke-width: 7; }

.mlg-leaf {
  fill: #6fa956;
  stroke: #346b39;
  stroke-width: 4;
  stroke-linejoin: round;
}

.mlg-leaf-vein {
  fill: none;
  stroke: rgba(240, 248, 222, 0.75);
  stroke-width: 3;
  stroke-linecap: round;
}

.mlg-hole {
  fill: #dfe9ce;
  stroke: rgba(52, 107, 57, 0.18);
  stroke-width: 1;
}

.mlg-pot-rim {
  fill: #cf9468;
  stroke: #79543c;
  stroke-width: 6;
}

.mlg-pot-front {
  fill: #bd8257;
  stroke: #79543c;
  stroke-width: 6;
}

.mlg-soil-top {
  fill: var(--soil-top, #654630);
  stroke: #4b3528;
  stroke-width: 4;
}

.mlg-cutaway {
  display: none;
}

.mlg-game.mlg-inspecting .mlg-cutaway {
  display: block;
}

.mlg-root {
  fill: none;
  stroke: #ecd9b8;
  stroke-width: 4;
  stroke-linecap: round;
}

.mlg-root-rot .mlg-root {
  stroke: #4b3027;
}

.mlg-yellowing .mlg-leaf {
  fill: #b7ad5d;
}

.mlg-wilting .mlg-leaf-wrap {
  transform-box: fill-box;
  transform-origin: center;
}

.mlg-spot,
.mlg-bug,
.mlg-gnat,
.mlg-salt,
.mlg-scorch,
.mlg-leaf-drop {
  display: none;
}

.mlg-inspecting .mlg-spot-visible .mlg-spot,
.mlg-severe-spots .mlg-spot,
.mlg-inspecting .mlg-bugs-visible .mlg-bug,
.mlg-severe-bugs .mlg-bug,
.mlg-inspecting .mlg-gnats-visible .mlg-gnat,
.mlg-severe-gnats .mlg-gnat,
.mlg-inspecting .mlg-salt-visible .mlg-salt,
.mlg-severe-salt .mlg-salt,
.mlg-scorched .mlg-scorch,
.mlg-leaf-loss .mlg-leaf-drop {
  display: block;
}

.mlg-spot { fill: #784836; stroke: #4f2f25; stroke-width: 2; }
.mlg-bug { fill: #edf0cf; stroke: #3f4a34; stroke-width: 2; }
.mlg-gnat { fill: #24251f; animation: mlgGnat 2.1s steps(4) infinite; }
.mlg-salt { fill: #ede4cf; stroke: #b7ad93; stroke-width: 2; }
.mlg-scorch { fill: #8f6743; stroke: #5f432d; stroke-width: 2; }
.mlg-leaf-drop { fill: #8a765a; stroke: #5f4c39; stroke-width: 2; }

@keyframes mlgGnat {
  0% { transform: translate(0,0); }
  25% { transform: translate(8px,-8px); }
  50% { transform: translate(-5px,-14px); }
  75% { transform: translate(9px,-2px); }
  100% { transform: translate(0,0); }
}

.mlg-dead .mlg-leaf,
.mlg-dead .mlg-stem,
.mlg-dead .mlg-petiole {
  fill: #8a765a;
  stroke: #5f4c39;
}

.mlg-dead .mlg-stem,
.mlg-dead .mlg-petiole {
  fill: none;
}

.mlg-particle {
  position: absolute;
  pointer-events: none;
  z-index: 100;
}

.mlg-drop {
  width: 8px;
  height: 14px;
  background: #85bfca;
  border: 2px solid #5e98a2;
  border-radius: 8px;
  animation: mlgDrop 0.55s linear forwards;
}

.mlg-granule {
  width: 8px;
  height: 8px;
  background: #d3ba55;
  border: 2px solid #9b8435;
  border-radius: 3px;
  animation: mlgDrop 0.65s linear forwards;
}

.mlg-mist {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(214, 235, 203, 0.78);
  border: 2px solid rgba(95, 143, 72, 0.35);
  animation: mlgMist 0.85s linear forwards;
}

.mlg-mist-fungus {
  background: rgba(221, 203, 162, 0.78);
  border-color: rgba(142, 111, 67, 0.38);
}

@keyframes mlgDrop {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(120px); }
}

@keyframes mlgMist {
  from { opacity: 1; transform: translate(0,0) scale(0.7); }
  to { opacity: 0; transform: translate(-45px,-20px) scale(1.6); }
}


.mlg-plant-svg { filter: drop-shadow(0 10px 0 rgba(70,60,38,.09)); }
.mlg-stem { stroke-width: 11; }
.mlg-petiole { stroke-width: 5.5; }
.mlg-aerial { fill: none; stroke: rgba(85, 116, 69, 0.5); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 3 7; }
.mlg-leaf { fill: #6ea756; stroke: #376c39; stroke-width: 3.4; stroke-linejoin: round; }
.mlg-leaf-juvenile { fill: #73ad5a; }
.mlg-leaf-split { fill: #6ea755; }
.mlg-leaf-mature { fill: #679f50; }
.mlg-leaf-unfurl { fill: #7bb55f; }
.mlg-leaf-vein { fill: none; stroke: rgba(237,245,219,0.9); stroke-width: 2.8; stroke-linecap: round; }
.mlg-leaf-side { fill: none; stroke: rgba(237,245,219,0.55); stroke-width: 2; stroke-linecap: round; }
.mlg-hole { fill: #dfe9ce; stroke: rgba(52,107,57,.15); stroke-width: 1; }
.mlg-cutaway { display: none; }
.mlg-game.mlg-inspecting .mlg-cutaway { display: block; }
.mlg-cutaway-panel { fill: rgba(255, 251, 240, 0.78); stroke: #6f5b46; stroke-width: 3; }
.mlg-cutaway-soil { stroke: #4b3528; stroke-width: 2; }
.mlg-root { fill: none; stroke: #eddcbc; stroke-width: 3; stroke-linecap: round; }
.mlg-root-rot .mlg-root { stroke: #574136; }
.mlg-yellowing .mlg-leaf { fill: #b9b05e; }
.mlg-scorched .mlg-scorch,
.mlg-leaf-loss .mlg-leaf-drop,
.mlg-inspecting .mlg-spot-visible .mlg-spot,
.mlg-severe-spots .mlg-spot,
.mlg-inspecting .mlg-bugs-visible .mlg-bug,
.mlg-severe-bugs .mlg-bug,
.mlg-inspecting .mlg-gnats-visible .mlg-gnat,
.mlg-severe-gnats .mlg-gnat,
.mlg-inspecting .mlg-salt-visible .mlg-salt,
.mlg-severe-salt .mlg-salt { display: block; }
.mlg-spot, .mlg-bug, .mlg-gnat, .mlg-salt, .mlg-scorch, .mlg-leaf-drop { display: none; }
.mlg-spot { fill: #80533a; stroke: #5d3a2a; stroke-width: 1.8; }
.mlg-bug { fill: #eef0d8; stroke: #556044; stroke-width: 1.6; }
.mlg-scorch { fill: #8c6444; stroke: #65452e; stroke-width: 1.6; }
.mlg-salt { fill: #efe7d6; stroke: #b8ad92; stroke-width: 1.6; }
.mlg-gnat-body { fill: #23231f; }
.mlg-gnat-wing { fill: rgba(240,240,235,.78); stroke: rgba(80,80,75,.4); stroke-width: .7; }
.mlg-gnat-a { animation: mlgGnatA 2.8s ease-in-out infinite; }
.mlg-gnat-b { animation: mlgGnatB 3.3s ease-in-out infinite; }
.mlg-gnat-c { animation: mlgGnatC 2.5s ease-in-out infinite; }
@keyframes mlgGnatA { 0%,100%{transform:translate(166px,322px)} 25%{transform:translate(174px,312px)} 50%{transform:translate(158px,304px)} 75%{transform:translate(170px,316px)} }
@keyframes mlgGnatB { 0%,100%{transform:translate(212px,314px)} 25%{transform:translate(220px,306px)} 50%{transform:translate(204px,298px)} 75%{transform:translate(218px,320px)} }
@keyframes mlgGnatC { 0%,100%{transform:translate(260px,326px)} 25%{transform:translate(268px,316px)} 50%{transform:translate(254px,310px)} 75%{transform:translate(263px,322px)} }
.mlg-leaf-wrap { transform-origin: 0px 0px; }
.mlg-sway-0 { animation: mlgSway0 4.6s ease-in-out infinite; }
.mlg-sway-1 { animation: mlgSway1 5.4s ease-in-out infinite; }
.mlg-sway-2 { animation: mlgSway2 6.1s ease-in-out infinite; }
@keyframes mlgSway0 { 0%,100%{transform:rotate(-2deg)} 50%{transform:rotate(2deg)} }
@keyframes mlgSway1 { 0%,100%{transform:rotate(1.6deg)} 50%{transform:rotate(-1.8deg)} }
@keyframes mlgSway2 { 0%,100%{transform:rotate(-1.4deg)} 50%{transform:rotate(1.8deg)} }
.mlg-wilting .mlg-leaf-wrap { animation-duration: 7s; }
.mlg-wilting .mlg-leaf-wrap { opacity: .96; }


.mlg-plant-card{min-width:190px;max-width:220px;padding:10px 12px;}
.mlg-plant-card strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mlg-plant-card span{font-size:12px;white-space:nowrap;}
.mlg-panel{padding-bottom:2px;}
.mlg-debug{display:grid;gap:6px;align-content:start;}
.mlg-debug-row{margin-bottom:2px;font-size:12px;}
.mlg-debug-row label{color:var(--mlg-ink);}
.mlg-debug-row select{max-width:180px;font-size:12px;padding:5px 7px;}
.mlg-debug-toggle{padding:5px 7px;font-size:11px;min-height:38px;}
.mlg-debug-toggle span{line-height:1.1;}
.mlg-debug-actions button{padding:6px;font-size:11px;}
.mlg-bottom-row button{padding:8px;font-size:12px;}
.mlg-plant-svg{filter:drop-shadow(0 10px 10px rgba(70,60,38,.10));}
.mlg-stem,.mlg-petiole{fill:none;stroke:#3f7a3e;stroke-linecap:round;stroke-linejoin:round;}
.mlg-stem{stroke-width:8;}
.mlg-petiole{stroke-width:4.5;}
.mlg-aerial{fill:none;stroke:rgba(116,104,78,.55);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:2 5;}
.mlg-leaf{fill:#75aa58;stroke:#3d6c39;stroke-width:3.2;stroke-linejoin:round;}
.mlg-leaf-adolescent{fill:#72a95a;}
.mlg-leaf-split,.mlg-leaf-mature{fill:#6ea555;}
.mlg-leaf-unfurl{fill:#82ba65;}
.mlg-leaf-vein{fill:none;stroke:rgba(239,246,223,.95);stroke-width:2.4;stroke-linecap:round;}
.mlg-leaf-side{fill:none;stroke:rgba(239,246,223,.62);stroke-width:1.6;stroke-linecap:round;}
.mlg-fen-slit{fill:none;stroke:#dfead0;stroke-width:6;stroke-linecap:round;opacity:.95;}
.mlg-hole{fill:#dfe9ce;stroke:rgba(61,108,57,.18);stroke-width:1;}
.mlg-pot-normal{display:block;}
.mlg-pot-inspect{display:none;}
.mlg-game.mlg-inspecting .mlg-pot-normal{display:none;}
.mlg-game.mlg-inspecting .mlg-pot-inspect{display:block;}
.mlg-pot-front-left,.mlg-pot-cut-panel{fill:#bd8257;stroke:#79543c;stroke-width:6;}
.mlg-pot-cut-panel{fill:#c38a60;}
.mlg-pot-cut-line{fill:none;stroke:#6e4d38;stroke-width:3;stroke-dasharray:4 4;}
.mlg-pot-cut-soil{stroke:#493429;stroke-width:2;}
.mlg-root{fill:none;stroke:#ead7b7;stroke-width:3.2;stroke-linecap:round;}
.mlg-root-fine{stroke-width:2.2;opacity:.9;}
.mlg-root-rot .mlg-root{stroke:#5e4436;}
.mlg-spot,.mlg-spot-core,.mlg-bug,.mlg-bug-leg,.mlg-scorch,.mlg-gnat-swarm,.mlg-salt,.mlg-leaf-drop{display:none;}
.mlg-inspecting .mlg-spot-visible .mlg-spot,.mlg-inspecting .mlg-spot-visible .mlg-spot-core,.mlg-severe-spots .mlg-spot,.mlg-severe-spots .mlg-spot-core{display:block;}
.mlg-inspecting .mlg-bugs-visible .mlg-bug,.mlg-inspecting .mlg-bugs-visible .mlg-bug-leg,.mlg-severe-bugs .mlg-bug,.mlg-severe-bugs .mlg-bug-leg{display:block;}
.mlg-inspecting .mlg-gnats-visible .mlg-gnat-swarm,.mlg-severe-gnats .mlg-gnat-swarm,.mlg-inspecting .mlg-salt-visible .mlg-salt,.mlg-severe-salt .mlg-salt,.mlg-scorched .mlg-scorch,.mlg-leaf-loss .mlg-leaf-drop{display:block;}
.mlg-spot{fill:#8b613d;stroke:#65452e;stroke-width:1.5;}
.mlg-spot-core{fill:#613524;}
.mlg-scorch{fill:#b3875c;stroke:#7d5a3e;stroke-width:1.8;opacity:.92;}
.mlg-bug{fill:#f3f4e5;stroke:#6d765f;stroke-width:1.1;}
.mlg-bug-leg{fill:none;stroke:#68715c;stroke-width:1;stroke-linecap:round;}
.mlg-yellowing .mlg-leaf{fill:#b8b15d;}
.mlg-wilting .mlg-leaf{filter:saturate(.88);}
.mlg-gnat-swarm{opacity:.96;}
.mlg-gnat-body{fill:#1f221c;}
.mlg-gnat-wing{fill:rgba(248,248,241,.82);stroke:rgba(88,88,78,.35);stroke-width:.6;}
.mlg-gnat-a{transform:translate(164px,340px);animation:mlgGnatA 5.4s linear infinite;}
.mlg-gnat-b{transform:translate(214px,332px);animation:mlgGnatB 6.3s linear infinite;}
.mlg-gnat-c{transform:translate(256px,346px);animation:mlgGnatC 4.9s linear infinite;}
@keyframes mlgGnatA{0%{transform:translate(164px,340px)}15%{transform:translate(176px,328px)}32%{transform:translate(188px,336px)}49%{transform:translate(178px,352px)}66%{transform:translate(158px,350px)}83%{transform:translate(152px,332px)}100%{transform:translate(164px,340px)}}
@keyframes mlgGnatB{0%{transform:translate(214px,332px)}20%{transform:translate(226px,320px)}39%{transform:translate(242px,330px)}58%{transform:translate(232px,350px)}79%{transform:translate(208px,348px)}100%{transform:translate(214px,332px)}}
@keyframes mlgGnatC{0%{transform:translate(256px,346px)}18%{transform:translate(268px,332px)}35%{transform:translate(280px,340px)}54%{transform:translate(270px,356px)}73%{transform:translate(246px,352px)}100%{transform:translate(256px,346px)}}
.mlg-leaf-wrap{transform-box:fill-box;transform-origin:50% 100%;}
.mlg-sway-0{animation:mlgSway0 6.8s ease-in-out infinite;}
.mlg-sway-1{animation:mlgSway1 8.2s ease-in-out infinite;}
.mlg-sway-2{animation:mlgSway2 7.6s ease-in-out infinite;}
.mlg-sway-3{animation:mlgSway3 9.1s ease-in-out infinite;}
@keyframes mlgSway0{0%,100%{transform:rotate(-1.4deg) translateY(0)}50%{transform:rotate(1.6deg) translateY(-1px)}}
@keyframes mlgSway1{0%,100%{transform:rotate(1.2deg) translateY(0)}50%{transform:rotate(-1.3deg) translateY(1px)}}
@keyframes mlgSway2{0%,100%{transform:rotate(-0.9deg)}50%{transform:rotate(1.5deg) translateY(-1px)}}
@keyframes mlgSway3{0%,100%{transform:rotate(0.8deg)}50%{transform:rotate(-1.2deg) translateY(1px)}}
.mlg-game.mlg-inspecting .mlg-play-bg::before{opacity:.16;}
.mlg-game.mlg-inspecting .mlg-light-wash{opacity:.24;}
.mlg-game.mlg-inspecting .mlg-floor{opacity:.16;}

.mlg-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(48, 55, 44, 0.45);
  z-index: 999999;
}

.mlg-modal.mlg-open {
  display: flex;
}

.mlg-modal-card {
  position: relative;
  max-width: 860px;
  max-height: 86vh;
  overflow: auto;
  background: var(--mlg-card);
  border: 4px solid var(--mlg-border);
  border-radius: 26px;
  padding: 24px;
  box-shadow: 0 22px 60px rgba(0,0,0,0.25);
}

.mlg-modal-card h3 {
  margin: 2px 0 14px;
  color: var(--mlg-ink);
  font-size: 34px;
}

.mlg-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  padding: 0;
  text-align: center;
  font-size: 28px;
  line-height: 1;
}

.mlg-info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.mlg-info-grid div {
  background: #fff8e7;
  border: 2px solid var(--mlg-border);
  border-radius: 18px;
  padding: 12px;
}

.mlg-info-grid p {
  margin: 5px 0 0;
  color: var(--mlg-muted);
}

.mlg-game button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none !important;
}

@media (max-width: 980px) {
  .mlg-game {
    --mlg-game-height: auto;
  }

  .mlg-main-grid {
    grid-template-columns: 1fr;
  }

  .mlg-control-card {
    height: auto;
    max-height: none;
  }

  .mlg-play-screen {
    height: 500px;
  }

  .mlg-hud {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .mlg-save {
    justify-self: center;
  }
}

@media (max-width: 620px) {
  .mlg-shell {
    padding: 10px;
    border-radius: 20px;
  }

  .mlg-tabs {
    grid-template-columns: repeat(2, 1fr);
  }

  .mlg-store-grid,
  .mlg-debug-actions,
  .mlg-info-grid {
    grid-template-columns: 1fr;
  }

  .mlg-play-screen {
    min-height: 430px;
  }

  .mlg-plant-holder {
    width: 95%;
  }
}


/* v0.3.0 art rebuild overrides */
.mlg-game{--mlg-game-height:min(575px, calc(100vh - 78px));}
.mlg-main-grid{grid-template-columns:minmax(430px,1.07fr) minmax(360px,.93fr);}
.mlg-play-screen{height:calc(var(--mlg-game-height) - 54px);min-height:378px;}
.mlg-play-bg{background:linear-gradient(180deg,#e2ecd3 0%,#eaf1dd 61%,#d7c6a7 61%,#d7c6a7 100%);}
.mlg-play-bg::before{background:linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:40px 40px;opacity:.34;}
.mlg-light-wash{left:22%;width:44%;opacity:.52;}
.mlg-floor{left:14%;right:14%;bottom:24px;height:18px;border-width:4px;border-radius:8px;box-shadow:0 10px 0 rgba(67,62,46,.10);}
.mlg-screen-buttons{top:14px;right:14px;}
.mlg-plant-holder{bottom:4px;width:min(338px,74%);height:82%;}
.mlg-game.mlg-inspecting .mlg-plant-holder{bottom:0;transform:translateX(-50%) scale(1.04);}
.mlg-plant-card{min-width:220px;max-width:245px;padding:9px 11px;}
.mlg-plant-card strong{font-size:13px;line-height:1.05;white-space:normal;overflow:visible;}
.mlg-plant-card span{font-size:11px;line-height:1.1;white-space:normal;}
.mlg-debug-toggles{grid-template-columns:repeat(3,minmax(0,1fr));}
.mlg-debug-toggle{min-height:34px;padding:4px 6px;font-size:10.5px;}
.mlg-debug-actions{grid-template-columns:repeat(3,1fr);}
.mlg-debug-actions button,.mlg-bottom-row button{font-size:11px;}
.mlg-structure{filter:drop-shadow(0 8px 6px rgba(64,74,45,.10));}
.mlg-stem,.mlg-petiole{fill:none;stroke:#3d7c44;stroke-linecap:round;stroke-linejoin:round;}
.mlg-stem{stroke-width:8;}
.mlg-petiole{stroke-width:4.4;}
.mlg-aerial{fill:none;stroke:rgba(130,116,90,.55);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:2 5;}
.mlg-leaf{fill:#76ab5a;stroke:#38693a;stroke-width:3;stroke-linejoin:round;}
.mlg-leaf-adolescent{fill:#72a559;}
.mlg-leaf-split,.mlg-leaf-mature{fill:#6d9f53;}
.mlg-leaf-unfurl{fill:#86b86a;}
.mlg-leaf-vein{fill:none;stroke:rgba(239,245,226,.95);stroke-width:2.1;stroke-linecap:round;}
.mlg-leaf-side{fill:none;stroke:rgba(239,245,226,.55);stroke-width:1.4;stroke-linecap:round;}
.mlg-hole{fill:#dce7cb;stroke:rgba(56,105,58,.15);stroke-width:.9;}
.mlg-fen-edge{fill:none;stroke:#dbe7c8;stroke-width:4.4;stroke-linecap:round;}
.mlg-yellowing .mlg-leaf{fill:#b5af64;}
.mlg-wilting .mlg-leaf{filter:saturate(.85) brightness(.96);}
.mlg-dead .mlg-leaf{fill:#8d8669;stroke:#6a654f;}
.mlg-pot-rim{fill:#d09766;stroke:#7a543d;stroke-width:6;}
.mlg-pot-front,.mlg-pot-front-left,.mlg-pot-cut-panel{fill:#c28758;stroke:#7a543d;stroke-width:6;}
.mlg-pot-cut-panel{fill:#cb9162;}
.mlg-pot-cut-line{fill:none;stroke:#6d4d39;stroke-width:3;stroke-dasharray:4 4;}
.mlg-pot-cut-soil{stroke:#4d382a;stroke-width:2;}
.mlg-root{fill:none;stroke:#ead9b9;stroke-width:3.1;stroke-linecap:round;}
.mlg-root-fine{stroke-width:2.1;}
.mlg-root-rot .mlg-root{stroke:#6f5344;}
.mlg-issue-spot,.mlg-issue-bug,.mlg-scorch,.mlg-salt,.mlg-fallen,.mlg-gnat-swarm{display:none;}
.mlg-inspecting .mlg-spot-visible .mlg-issue-spot,.mlg-severe-spots .mlg-issue-spot{display:block;}
.mlg-inspecting .mlg-bugs-visible .mlg-issue-bug,.mlg-severe-bugs .mlg-issue-bug{display:block;}
.mlg-scorched .mlg-scorch,.mlg-inspecting .mlg-salt-visible .mlg-salt,.mlg-severe-salt .mlg-salt,.mlg-leaf-loss .mlg-fallen,.mlg-inspecting .mlg-gnats-visible .mlg-gnat-swarm,.mlg-severe-gnats .mlg-gnat-swarm{display:block;}
.mlg-spot-halo{fill:rgba(191,170,80,.45);}
.mlg-spot{fill:#7a5033;stroke:#5c3823;stroke-width:1.2;}
.mlg-bug-fluff{fill:rgba(244,245,236,.72);}
.mlg-bug{fill:#f3f3e7;stroke:#707a62;stroke-width:1.1;}
.mlg-scorch{fill:#c09b71;stroke:#8f6d4f;stroke-width:1.4;}
.mlg-issue-scorch-edge{fill:none;stroke:#ebd4b8;stroke-width:1.5;stroke-linecap:round;opacity:.7;}
.mlg-salt rect,.mlg-salt circle{fill:#ece3d1;stroke:#b5ab97;stroke-width:1.1;}
.mlg-leaf-drop{fill:#8fa55d;stroke:#4e6f3e;stroke-width:2;}
.mlg-gnat-body{fill:#23231f;}
.mlg-gnat-wing{fill:rgba(249,249,242,.82);stroke:rgba(92,92,80,.35);stroke-width:.55;}
.mlg-gnat-a{transform:translate(166px,342px);animation:mlgGnatA 7.2s linear infinite;}
.mlg-gnat-b{transform:translate(212px,336px);animation:mlgGnatB 8.4s linear infinite;}
.mlg-gnat-c{transform:translate(258px,344px);animation:mlgGnatC 6.8s linear infinite;}
@keyframes mlgGnatA{0%{transform:translate(166px,342px)}14%{transform:translate(176px,328px)}30%{transform:translate(188px,334px)}46%{transform:translate(180px,350px)}63%{transform:translate(160px,352px)}80%{transform:translate(152px,338px)}100%{transform:translate(166px,342px)}}
@keyframes mlgGnatB{0%{transform:translate(212px,336px)}18%{transform:translate(228px,322px)}36%{transform:translate(242px,332px)}56%{transform:translate(236px,348px)}77%{transform:translate(214px,350px)}100%{transform:translate(212px,336px)}}
@keyframes mlgGnatC{0%{transform:translate(258px,344px)}22%{transform:translate(272px,330px)}40%{transform:translate(284px,340px)}60%{transform:translate(272px,356px)}78%{transform:translate(250px,350px)}100%{transform:translate(258px,344px)}}
.mlg-leaf-wrap{transform-box:fill-box;transform-origin:50% 100%;}
.mlg-sway-0{animation:mlgSway0 8.6s ease-in-out infinite;}
.mlg-sway-1{animation:mlgSway1 9.8s ease-in-out infinite;}
.mlg-sway-2{animation:mlgSway2 7.8s ease-in-out infinite;}
.mlg-sway-3{animation:mlgSway3 10.2s ease-in-out infinite;}
@keyframes mlgSway0{0%,100%{transform:rotate(-1.1deg)}50%{transform:rotate(1.3deg) translateY(-1px)}}
@keyframes mlgSway1{0%,100%{transform:rotate(1deg)}50%{transform:rotate(-1.2deg) translateY(1px)}}
@keyframes mlgSway2{0%,100%{transform:rotate(-.8deg)}50%{transform:rotate(1.1deg)}}
@keyframes mlgSway3{0%,100%{transform:rotate(.7deg)}50%{transform:rotate(-1deg) translateY(1px)}}
.mlg-game.mlg-inspecting .mlg-play-bg{opacity:.2;}
.mlg-game.mlg-inspecting .mlg-floor{opacity:.16;}
.mlg-game.mlg-inspecting .mlg-light-wash{opacity:.20;}
@media (max-width: 980px){
  .mlg-main-grid{grid-template-columns:1fr;height:auto;}
  .mlg-play-card,.mlg-control-card{height:auto;}
}

/* v0.4.0 layered production-art pipeline */
.mlg-game {
  --mlg-game-height: min(575px, calc(100vh - 78px));
}

.mlg-shell {
  max-width: 1210px;
}

.mlg-main-grid {
  grid-template-columns: minmax(430px, 1.07fr) minmax(360px, .93fr);
}

.mlg-play-screen {
  height: calc(var(--mlg-game-height) - 54px);
  min-height: 378px;
}

.mlg-play-bg {
  background: linear-gradient(180deg, #e2ecd3 0%, #eaf1dd 62%, #d8c7aa 62%, #d8c7aa 100%);
}

.mlg-play-bg::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: .32;
}

.mlg-light-wash { left: 22%; width: 44%; opacity: .50; }
.mlg-floor { left: 15%; right: 15%; bottom: 24px; height: 18px; border-width: 4px; border-radius: 8px; box-shadow: 0 10px 0 rgba(67,62,46,.10); }
.mlg-screen-buttons { top: 14px; right: 14px; }
.mlg-plant-holder { bottom: 2px; width: min(345px, 74%); height: 82%; }
.mlg-game.mlg-inspecting .mlg-plant-holder { bottom: 0; transform: translateX(-50%) scale(1.05); }
.mlg-plant-card { min-width: 220px; max-width: 245px; padding: 9px 11px; }
.mlg-plant-card strong { font-size: 13px; line-height: 1.05; white-space: normal; overflow: visible; }
.mlg-plant-card span { font-size: 11px; line-height: 1.1; white-space: normal; }
.mlg-panel { padding-bottom: 2px; }
.mlg-debug { display: grid; gap: 6px; align-content: start; }
.mlg-debug-row { margin-bottom: 2px; font-size: 12px; }
.mlg-debug-row label { color: var(--mlg-ink); }
.mlg-debug-row select { max-width: 180px; font-size: 12px; padding: 5px 7px; }
.mlg-debug-toggles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mlg-debug-toggle { min-height: 34px; padding: 4px 6px; font-size: 10.5px; }
.mlg-debug-actions { grid-template-columns: repeat(3, 1fr); gap: 6px; }
.mlg-debug-actions button, .mlg-bottom-row button { font-size: 11px; }

.mlg-plant-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 10px 10px rgba(70,60,38,.10));
}

.mlg-layer { pointer-events: none; }
.mlg-ground-shadow { fill: rgba(89, 76, 52, .16); }
.mlg-stage-art { filter: drop-shadow(0 6px 6px rgba(52, 70, 37, .10)); }
.mlg-moss-pole path:first-child { fill: none; stroke: #9b784c; stroke-width: 16; stroke-linecap: round; filter: url(#mlgPainterly); }
.mlg-pole-wrap { fill: none; stroke: #5f7f3c; stroke-width: 3.2; stroke-linecap: round; opacity: .9; }
.mlg-stem-piece, .mlg-petiole-piece, .mlg-aerial-root { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.mlg-stem-piece { stroke: #3f7f42; stroke-width: 8.2; }
.mlg-petiole-piece { stroke: #407f42; stroke-width: 4.4; }
.mlg-aerial-root { stroke: rgba(126, 111, 84, .56); stroke-width: 2.3; stroke-dasharray: 2 5; }

.mlg-leaf-unit { transform-box: fill-box; }
.mlg-leaf-sway { transform-box: fill-box; transform-origin: 0 0; animation-timing-function: ease-in-out; animation-iteration-count: infinite; }
.mlg-sway-0 { animation-name: mlgLeafSwayA; animation-duration: 8.6s; }
.mlg-sway-1 { animation-name: mlgLeafSwayB; animation-duration: 9.8s; }
.mlg-sway-2 { animation-name: mlgLeafSwayC; animation-duration: 7.8s; }
.mlg-sway-3 { animation-name: mlgLeafSwayD; animation-duration: 10.2s; }
@keyframes mlgLeafSwayA { 0%,100% { transform: rotate(calc(var(--mlg-wilt, 0deg) - 1.1deg)); } 50% { transform: rotate(calc(var(--mlg-wilt, 0deg) + 1.3deg)) translateY(-1px); } }
@keyframes mlgLeafSwayB { 0%,100% { transform: rotate(calc(var(--mlg-wilt, 0deg) + .9deg)); } 50% { transform: rotate(calc(var(--mlg-wilt, 0deg) - 1.2deg)) translateY(1px); } }
@keyframes mlgLeafSwayC { 0%,100% { transform: rotate(calc(var(--mlg-wilt, 0deg) - .8deg)); } 50% { transform: rotate(calc(var(--mlg-wilt, 0deg) + 1.0deg)); } }
@keyframes mlgLeafSwayD { 0%,100% { transform: rotate(calc(var(--mlg-wilt, 0deg) + .7deg)); } 50% { transform: rotate(calc(var(--mlg-wilt, 0deg) - 1.0deg)) translateY(1px); } }

.mlg-leaf-shape { fill: url(#mlgLeafGradient); stroke: #38693a; stroke-width: 3; stroke-linejoin: round; filter: url(#mlgPainterly); }
.mlg-leaf-juvenile { fill: url(#mlgLeafLight); }
.mlg-leaf-adolescent { fill: #74a95a; }
.mlg-leaf-split, .mlg-leaf-mature { fill: url(#mlgLeafGradient); }
.mlg-leaf-unfurl { fill: #88bd6b; }
.mlg-veins path { fill: none; stroke-linecap: round; }
.mlg-midrib { stroke: rgba(235, 246, 218, .95); stroke-width: 2.3; }
.mlg-side-vein { stroke: rgba(235, 246, 218, .58); stroke-width: 1.4; }
.mlg-fenestrations ellipse { fill: #e2ecd3; stroke: rgba(56,105,58,.16); stroke-width: .9; }
.mlg-fenestrations path { fill: none; stroke: #e2ecd3; stroke-width: 4.6; stroke-linecap: round; }
.mlg-early-splits path { stroke-width: 3.6; opacity: .78; }
.mlg-yellow-wash { fill: #d6c65a; pointer-events: none; mix-blend-mode: multiply; }

.mlg-issue-layer, .mlg-salt-crust, .mlg-rootrot-overlay, .mlg-potbound-roots, .mlg-fallen-leaves { display: none; }
.mlg-spot-visible .mlg-fungal-layer, .mlg-severe-spots .mlg-fungal-layer { display: block; }
.mlg-bugs-visible .mlg-bug-layer, .mlg-severe-bugs .mlg-bug-layer { display: block; }
.mlg-scorched .mlg-scorch-layer { display: block; }
.mlg-salt-visible .mlg-salt-crust, .mlg-severe-salt .mlg-salt-crust { display: block; }
.mlg-root-rot .mlg-rootrot-overlay { display: block; }
.mlg-pot-bound .mlg-potbound-roots { display: block; }
.mlg-leaf-loss .mlg-fallen-leaves { display: block; }
.mlg-leaf-loss .mlg-loss-prone { opacity: .18; transform: translateY(10px); }
.mlg-dead .mlg-leaf-shape { fill: #8d8466; stroke: #6a654f; }
.mlg-dead .mlg-yellow-wash { opacity: .28 !important; }
.mlg-dead .mlg-fallen-leaves { display: block; }
.mlg-dead .mlg-issue-layer { opacity: .35; }

.mlg-spot-halo { fill: rgba(197, 175, 82, .46); }
.mlg-spot-core { fill: #74482e; stroke: #57351f; stroke-width: 1.1; }
.mlg-mealy-fluff { fill: rgba(246, 248, 236, .78); }
.mlg-mealy-core { fill: #f1f2e4; stroke: #737f64; stroke-width: 1.1; }
.mlg-scorch-patch { fill: #c39c70; stroke: #8c694b; stroke-width: 1.4; opacity: .92; }
.mlg-scorch-edge { fill: none; stroke: #efd8bc; stroke-width: 1.5; stroke-linecap: round; opacity: .72; }

.mlg-pot-layer { pointer-events: none; }
.mlg-soil-surface { fill: var(--soil-top, #654630); stroke: #4d382a; stroke-width: 3; }
.mlg-pot-rim { fill: #d19764; stroke: #7a543d; stroke-width: 6; filter: url(#mlgPainterly); }
.mlg-pot-front, .mlg-pot-front-left, .mlg-cut-pot-left, .mlg-cut-pot-shell { fill: url(#mlgPotGradient); stroke: #7a543d; stroke-width: 6; filter: url(#mlgPainterly); }
.mlg-pot-highlight { fill: rgba(255, 206, 144, .18); }
.mlg-pot-back { fill: #c88959; stroke: #7a543d; stroke-width: 6; opacity: .9; }
.mlg-pot-normal { display: block; }
.mlg-pot-inspect { display: none; }
.mlg-game.mlg-inspecting .mlg-pot-normal { display: none; }
.mlg-game.mlg-inspecting .mlg-pot-inspect { display: block; }
.mlg-cut-pot-shell { opacity: .88; }
.mlg-cut-pot-left { opacity: .96; }
.mlg-cut-soil-profile { stroke: #4d382a; stroke-width: 2; }
.mlg-cut-glass { fill: rgba(255, 247, 222, .08); stroke: rgba(77, 56, 42, .42); stroke-width: 1.5; }
.mlg-cut-divider { fill: none; stroke: #6d4d39; stroke-width: 3; stroke-dasharray: 4 4; }
.mlg-root, .mlg-root-fine { fill: none; stroke: #ecdabb; stroke-linecap: round; }
.mlg-root { stroke-width: 3.1; }
.mlg-root-fine { stroke-width: 2.1; opacity: .9; }
.mlg-root-rot .mlg-root, .mlg-root-rot .mlg-root-fine { stroke: #6f5344; }
.mlg-rootrot-overlay path { fill: none; stroke: #3f302b; stroke-width: 4; stroke-linecap: round; opacity: .75; }
.mlg-rootrot-overlay circle { fill: #3f302b; opacity: .8; }
.mlg-potbound-roots path { fill: none; stroke: #e8d6b4; stroke-width: 3.4; stroke-linecap: round; opacity: .95; }
.mlg-salt-crust path, .mlg-salt-crust circle { fill: #eee7d7; stroke: #b5ab97; stroke-width: 1.1; }
.mlg-fallen-leaf { fill: #8fa55d; stroke: #4e6f3e; stroke-width: 2; }

.mlg-gnat-swarm { opacity: .96; }
.mlg-gnat-body { fill: #23231f; }
.mlg-gnat-wing { fill: rgba(249,249,242,.82); stroke: rgba(92,92,80,.35); stroke-width: .55; }
.mlg-gnat-a { transform: translate(166px, 342px); animation: mlgGnatA 7.2s linear infinite; }
.mlg-gnat-b { transform: translate(212px, 336px); animation: mlgGnatB 8.4s linear infinite; }
.mlg-gnat-c { transform: translate(258px, 344px); animation: mlgGnatC 6.8s linear infinite; }
.mlg-gnat-d { transform: translate(190px, 334px); animation: mlgGnatD 9.1s linear infinite; }
@keyframes mlgGnatA { 0%{transform:translate(166px,342px)} 14%{transform:translate(176px,328px)} 30%{transform:translate(188px,334px)} 46%{transform:translate(180px,350px)} 63%{transform:translate(160px,352px)} 80%{transform:translate(152px,338px)} 100%{transform:translate(166px,342px)} }
@keyframes mlgGnatB { 0%{transform:translate(212px,336px)} 18%{transform:translate(228px,322px)} 36%{transform:translate(242px,332px)} 56%{transform:translate(236px,348px)} 77%{transform:translate(214px,350px)} 100%{transform:translate(212px,336px)} }
@keyframes mlgGnatC { 0%{transform:translate(258px,344px)} 22%{transform:translate(272px,330px)} 40%{transform:translate(284px,340px)} 60%{transform:translate(272px,356px)} 78%{transform:translate(250px,350px)} 100%{transform:translate(258px,344px)} }
@keyframes mlgGnatD { 0%{transform:translate(190px,334px)} 20%{transform:translate(202px,322px)} 41%{transform:translate(216px,334px)} 60%{transform:translate(202px,352px)} 80%{transform:translate(184px,348px)} 100%{transform:translate(190px,334px)} }

.mlg-game.mlg-inspecting .mlg-play-bg { opacity: .2; }
.mlg-game.mlg-inspecting .mlg-floor { opacity: .16; }
.mlg-game.mlg-inspecting .mlg-light-wash { opacity: .20; }

@media (max-width: 980px) {
  .mlg-main-grid { grid-template-columns: 1fr; height: auto; }
  .mlg-play-card, .mlg-control-card { height: auto; }
  .mlg-play-screen { height: 510px; }
}
