.stage:has(.lc-meter), .stage:has(.lc-dial) { touch-action: none; }

body.phone .pond-head, body.phone .garden-head { top: 10px; left: 10px; right: 10px; flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; }
body.phone .pond-head .view-head, body.phone .garden-head .view-head { min-height: 0; }
body.phone .pond-status, body.phone .garden-status { top: 150px; left: 10px; right: 10px; width: auto; min-width: 0; margin: 0; padding: 12px 14px; gap: 10px; }
body.phone .pond-msg, body.phone .garden-msg { font-size: 14px; line-height: 18px; white-space: normal; text-wrap: balance; text-box: none; }
body.phone .pond-note { white-space: normal; line-height: 15px; text-box: none; }
body.phone .pond-meter { width: 100%; max-width: 260px; }

body.phone .pond-head .btn, body.phone .garden-head .btn { min-height: 44px; }
body.phone .pond-bait, body.phone .garden-digs { left: 10px; top: 66px; bottom: auto; width: calc(54% - 14px); height: 76px; padding: 10px 12px; gap: 9px; justify-content: center; pointer-events: none; }
body.phone .pond-log, body.phone .garden-log { right: 10px; top: 66px; bottom: auto; width: calc(46% - 14px); height: 76px; padding: 9px 10px; gap: 7px; overflow: hidden; pointer-events: none; }
body.phone .pond-worms, body.phone .garden-pips { gap: 3px; }
body.phone .garden-digs { gap: 6px; padding-block: 8px; }
body.phone .garden-pips { height: 18px; }
body.phone .pond-timer, body.phone .garden-timer { font-size: 13px; }
body.phone .pond-cap, body.phone .garden-cap { font-size: 12px; }
body.phone .pond-list, body.phone .garden-list { gap: 2px; }
body.phone .pond-row, body.phone .garden-row { height: 22px; font-size: 12px; gap: 6px; }
body.phone .pond-row:nth-child(n+3), body.phone .garden-row:nth-child(n+3) { display: none; }
body.phone .pond-log .coins, body.phone .garden-log .coins { display: none; }
body.phone .pond-empty, body.phone .garden-empty { font-size: 12px; line-height: 15px; }

body.phone .fb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
body.phone .fb-top { flex-wrap: wrap; gap: 10px; }
body.phone .fb-bar { width: auto; flex: 1 1 120px; }
body.phone .fb-card { padding: 6px 4px 10px; }
body.phone .modal:has(> .relic-shelf) { overflow-x: auto; }

body.phone .screen-arcade .view-head { gap: 12px; margin-bottom: 16px; }
body.phone .cabinets { flex: 1 0 100%; justify-content: space-between; gap: 0; }
body.phone .cab { min-width: 44px; gap: 8px; }
body.phone .cab-name { font-size: 12px; }
body.phone .game { flex-direction: column; gap: 16px; }
body.phone .stagearea { width: 100%; height: 220px; }
body.phone .stagearea:has(.mines) { height: auto; padding: 14px 0; }
body.phone .controls { min-width: 0; width: 100%; align-items: stretch; gap: 12px; }
body.phone .controls > .btn { width: 100%; margin: 3px 0; }
body.phone .controls .row { gap: 10px; }
body.phone .controls .side { flex: 1; justify-content: center; min-height: 52px; }
body.phone .controls.row { flex-direction: row; flex-wrap: wrap; align-items: stretch; }
body.phone .controls.row > .betbox, body.phone .controls.row > .auto { flex: 1 0 100%; }
body.phone .betbox { width: 100%; gap: 8px; }
body.phone .betbox input.bet { flex: 1; min-width: 0; width: auto; min-height: 44px; }
body.phone .betbox .btn.small { min-height: 44px; min-width: 48px; padding-inline: 8px; margin: 3px 0; }
body.phone .auto { justify-content: space-between; }
body.phone .auto input.bet, body.phone .auto select { min-height: 44px; width: 110px; }
body.phone .rl-window { width: 100%; height: 84px; }
body.phone .rl-strip { margin-left: calc(50% - 480px); }
body.phone .rl-bet { flex: 1; min-width: 0; }
body.phone .rl-bet .btn { min-width: 0; width: 100%; padding-inline: 4px; }
body.phone canvas.crash { width: 100%; height: auto; }
body.phone .mines { grid-template-columns: repeat(5, 58px); gap: 8px; justify-content: center; }
body.phone .mine { width: 58px; height: 58px; }
body.phone .upg { grid-template-columns: minmax(0, 1fr); gap: 18px; }
body.phone .upg-mid { order: 3; padding-top: 0; gap: 12px; }
body.phone .upg-mid canvas.ring { width: 210px; height: 210px; image-rendering: pixelated; }
body.phone .upg-mid > .btn { width: 100%; }
body.phone .upg-col .item-grid { grid-template-columns: repeat(2, 156px); justify-content: center; max-height: 330px; }
body.phone .col-title { flex-wrap: wrap; }

body.phone .egg-book { grid-template-columns: minmax(0, 1fr); gap: 10px; }
body.phone .egg-slot { padding: 14px 14px 18px; gap: 9px; }
body.phone .egg-icon { height: 32px; }
body.phone .egg-progress { flex: 1 1 100%; width: auto; margin: 0 3px; }
body.phone .egg-host { top: calc(var(--top) + 12px); padding: 0 10px; }
body.phone .egg-plaque .co-text { font-size: 20px; }

body.phone .pet-layer { translate: 0 calc(-1 * var(--bot)); }
body.phone.has-pet .screens { border-bottom: 48px solid transparent; }
body.phone.has-pet.photo-mode .screens { border-bottom-width: 0; }
body.phone .pet-body { scale: .75; transform-origin: 50% 100%; }
body.phone .pet-paw { left: calc(10px + env(safe-area-inset-left)); bottom: calc(var(--bot) + 7px); width: 38px; height: 38px; padding: 0; box-sizing: border-box; }
body.phone .pet-paw::before { content: ''; position: absolute; inset: -3px; }
body.phone .pet-paw canvas { max-width: 30px; max-height: 30px; }
body.phone .toasts { left: 10px; right: 10px; bottom: calc(var(--bot) + 10px); align-items: stretch; }

body.phone .fanfare { padding: calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left)); overflow-y: auto; scrollbar-width: none; }
body.phone .fan-box { gap: 20px; max-width: 100%; margin: auto; }
body.phone .fan-title { font-size: 40px; letter-spacing: 3px; }
body.phone .fan-num { font-size: 84px; }
body.phone .fan-unlocks { flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: 16px; }
body.phone .fan-case { flex: 0 1 calc(50% - 8px); min-width: 0; }
body.phone .fan-case-name { font-size: 16px; text-align: center; line-height: 1.15; text-box: none; }
body.phone .fan-actions .btn { min-width: 160px; justify-content: center; }
@media (max-height: 760px) {
  body.phone .fan-box { gap: 14px; }
  body.phone .fan-num { font-size: 72px; }
  body.phone .fan-unlocks { gap: 12px 16px; }
}

body.phone .lc-dial { left: 50% !important; bottom: calc(14px + env(safe-area-inset-bottom)); scale: .8; transform-origin: 0 100%; }
body.phone .lc-block { flex-direction: column; align-items: flex-start; gap: 16px; padding: 16px 16px 20px; }
body.phone .pet-menu { width: 100%; }
body.phone .feed-log { max-width: calc(100vw - 20px); }
