/* The phone is the garden viewport: chrome has its own compact lanes and
   every product on the current meadow is visible before the first gesture. */
.node-name-compact { display:none; }
@media(max-width:1100px) {
  body.eden-mobile { --eden-header-height:48px; }
  .eden-mobile .game-header {
    height:calc(48px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(6px,env(safe-area-inset-right)) 0 max(6px,env(safe-area-inset-left));
    gap:4px;
  }
  .eden-mobile .game-brand { flex:none;gap:0; }
  .eden-mobile .game-brand img { width:30px;height:30px; }
  .eden-mobile .game-brand>span,.eden-mobile .back-to-shop { display:none; }
  .eden-mobile .header-actions { flex:1;justify-content:flex-end;gap:0; }
  .eden-mobile .header-actions .icon-button,
  .eden-mobile .header-actions #fullscreen-toggle,
  .eden-mobile .header-actions #immersive-map,
  .eden-mobile .header-actions #overview-meadow {
    display:inline-flex;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;gap:0;border:0;border-radius:12px;margin:0;
  }
  .eden-mobile .header-actions .icon-button span { display:none!important; }
  .eden-mobile .header-actions #sound-toggle,
  .eden-mobile .header-actions #help-button { display:inline-flex; }
  .eden-mobile .header-actions #overview-meadow { background:#fff1cf; }
  .eden-mobile .garden-intro,
  .eden-mobile .world-badge,.eden-mobile.eden-immersive .world-badge { display:none; }
  .eden-mobile .garden-app {
    height:calc(var(--eden-viewport-height,100dvh) - 48px - env(safe-area-inset-top));
    display:grid;grid-template-rows:minmax(0,1fr);gap:0;
    padding:2px max(4px,env(safe-area-inset-right)) calc(54px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));
  }
  .eden-mobile .garden-layout { display:block;height:100%;min-height:0; }
  .eden-mobile .world-pane { height:100%;border-radius:15px;grid-template-rows:52px minmax(0,1fr); }
  .eden-mobile .world-pane.has-active-recipe { grid-template-rows:52px minmax(0,1fr) 52px; }
  .eden-mobile .zone-tabs {
    display:flex;min-height:0;height:52px;padding:3px 6px;gap:4px;
    overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;
    scrollbar-width:thin;scrollbar-color:#9bad74 #f2f4df;
  }
  .eden-mobile .zone-tabs button {
    flex:0 0 auto;min-height:40px;height:40px;padding:5px 9px;gap:5px;
    font-size:14px;border-radius:11px;
  }
  .eden-mobile .zone-tabs button img { width:25px;height:25px; }
  .eden-mobile .zone-tabs button small { display:none; }
  .eden-mobile .world-footer,
  .eden-mobile.eden-immersive .world-footer {
    position:fixed;left:max(5px,env(safe-area-inset-left));right:calc(125px + env(safe-area-inset-right));bottom:calc(5px + env(safe-area-inset-bottom));
    height:46px;min-height:46px;padding:0;border:0;background:transparent;z-index:54;
  }
  .eden-mobile .world-footer .plot-switcher { width:100%;max-width:none;min-height:44px;gap:3px;padding:0;margin:0; }
  .eden-mobile .world-footer .plot-switcher>button { display:flex;flex:0 0 44px;width:44px;height:44px;min-height:44px;align-items:center;justify-content:center; }
  .eden-mobile .world-footer #plot-page { max-width:none;min-width:0;width:auto; }
  .eden-mobile .world-footer #plot-select { font-size:16px;min-height:44px;padding:5px 17px 5px 7px;border-radius:12px; }
  .eden-mobile .world-footer .walk-hint,.eden-mobile .world-footer .journey-progress { display:none; }
  .eden-mobile .mobile-basket,
  .eden-mobile.eden-immersive .mobile-basket {
    position:fixed;z-index:55;display:flex;align-items:center;background:#28553d;border:1px solid #4f7950;color:#fffbe8;
    left:auto;right:max(5px,env(safe-area-inset-right));bottom:calc(5px + env(safe-area-inset-bottom));transform:none;
    width:115px;height:46px;min-height:44px;padding:4px 8px;gap:5px;border-radius:13px;box-shadow:0 2px 0 #1b3e2a;
  }
  .eden-mobile .mobile-basket-icon,.eden-mobile .mobile-basket-icon svg { width:27px;height:27px; }
  .eden-mobile .mobile-basket-icon svg { stroke:none; }
  .eden-mobile .mobile-basket-copy,.eden-mobile .mobile-basket-arrow { display:none; }
  .eden-mobile #mobile-basket-total { font-size:16px;letter-spacing:-.3px;margin-left:0; }
  .eden-mobile .garden-stage { --meadow-card-width:146px;--meadow-card-height:100px;--meadow-image:46px; }
  .eden-mobile .harvest-node {
    width:var(--meadow-card-width);height:var(--meadow-card-height);min-height:0;padding:0;
    display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;
    border:0;border-radius:0;background:transparent;box-shadow:none;
  }
  .eden-mobile .harvest-node::before { display:none; }
  .eden-mobile .node-label {
    display:flex;flex-direction:column;align-items:center;flex:none;min-width:0;width:max-content;max-width:100%;
    padding:3px 5px;background:#fffef2e8;border:1px solid #8a9f6240;border-radius:7px;
    box-shadow:0 2px 0 #73934b30;
  }
  .eden-mobile .node-label strong { font-size:15px;line-height:1.05;max-height:3.15em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-wrap:pretty; }
  .eden-mobile .node-image { flex:none;width:var(--meadow-image);height:var(--meadow-image); }
  .eden-mobile .node-image img { width:100%;height:100%; }
  .eden-mobile .node-price { font-size:15px;line-height:1.1;margin:2px 0 0;white-space:nowrap; }
  .eden-mobile .node-portion { display:inline;font-size:12px;line-height:1.1;margin:0;white-space:nowrap; }
  .eden-mobile .node-badge { top:0;left:calc(50% + 16px);right:auto;bottom:auto;min-width:23px;height:19px;max-width:calc(50% - 9px);border-width:1px;font-size:10px;padding:1px 3px; }
  .eden-mobile .harvest-node.has-picked .node-label { border-color:#7baa69; }
  .eden-mobile .harvest-node.is-target { box-shadow:none; }
  .eden-mobile .harvest-node:hover .node-image { transform:none; }
  .eden-mobile .harvest-node.is-target .node-label { box-shadow:0 0 0 2px #edb94e,0 2px 0 #73934b30; }
  .eden-mobile #player { z-index:15;width:50px;height:65px; }
  .eden-mobile .camera-controls { position:static;display:flex;flex-direction:row;justify-content:center;gap:10px;margin:18px 0 10px; }
  .eden-mobile .camera-button { min-width:44px;min-height:44px; }
  .eden-mobile .garden-stage>.camera-controls { display:none; }
  .eden-mobile .harvest-toast { top:auto;bottom:4px;padding:7px 10px;font-size:14px;pointer-events:none; }
  .eden-mobile .eden-recipe-goal { height:52px;min-height:0;padding:4px 7px;gap:7px;flex-wrap:nowrap;overflow:hidden; }
  .eden-mobile .recipe-goal-copy { flex:1 1 0;min-width:0;gap:1px; }
  .eden-mobile .recipe-goal-copy>strong { font-size:15px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
  .eden-mobile #recipe-goal-status { font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
  .eden-mobile .recipe-goal-kicker,.eden-mobile #recipe-goal-progress { display:none; }
  .eden-mobile .recipe-goal-actions { flex:0 1 56%;width:auto;max-width:56%;gap:4px; }
  .eden-mobile .recipe-goal-actions button { min-height:44px;padding:5px 7px;font-size:14px;line-height:1.15; }
  .eden-mobile .recipe-goal-actions #recipe-goal-stop { display:none; }
}
/* iPad landscape remains a touch garden, including the actual modal cart.
   The original desktop sidebar starts only beyond the compact breakpoint. */
@media(min-width:1021px) and (max-width:1100px) {
  .eden-mobile .garden-basket {
    position:fixed;z-index:101;right:15px;top:max(14px,env(safe-area-inset-top));bottom:max(14px,env(safe-area-inset-bottom));
    width:min(440px,calc(100vw - 30px));max-height:calc(var(--eden-viewport-height,100dvh) - 28px);
    padding:22px;transform:translateX(calc(100% + 30px));visibility:hidden;
    transition:transform .35s cubic-bezier(.25,.85,.2,1),visibility .35s;box-shadow:0 10px 70px #173e3540;
  }
  .eden-mobile.basket-open .garden-basket { transform:translateX(0);visibility:visible; }
  .eden-mobile #basket-close { display:flex; }
  .eden-mobile.basket-open .basket-backdrop { display:block;position:fixed;z-index:100;inset:0;background:rgb(26 54 36 / 58%); }
  .eden-mobile.basket-open .mobile-basket { visibility:hidden; }
  .eden-mobile .mobile-basket-copy { flex-direction:column;text-align:left; }
  .eden-mobile #mobile-basket-total { font-family:var(--round);font-weight:800;white-space:nowrap; }
}
@media(max-width:380px) {
  .eden-mobile .game-header { padding-inline:3px;gap:2px; }
  .eden-mobile .game-brand img { width:28px;height:28px; }
  .eden-mobile .node-label { padding:2px 3px; }
  .eden-mobile .node-label strong { font-size:14px;line-height:1.05; }
  .eden-mobile .node-price { font-size:14px;margin-top:1px; }
  .eden-mobile .node-portion { font-size:11.5px; }
}
@media(min-width:620px) and (max-width:1100px) {
  .eden-mobile #player { width:65px;height:85px; }
  .eden-mobile .mobile-basket,.eden-mobile.eden-immersive .mobile-basket { width:190px;gap:8px; }
  .eden-mobile .mobile-basket-copy { display:flex; }
  .eden-mobile .mobile-basket-copy strong { font-size:14px; }
  .eden-mobile .mobile-basket-copy small { display:none; }
  .eden-mobile #mobile-basket-total { margin-left:auto; }
  .eden-mobile .world-footer,.eden-mobile.eden-immersive .world-footer { right:calc(200px + env(safe-area-inset-right)); }
}
@media(max-height:400px) and (max-width:1100px) and (orientation:landscape) {
  .eden-mobile .node-label { padding:2px 3px; }
  .eden-mobile .node-label strong { font-size:13px;line-height:1.05;max-height:2.1em;-webkit-line-clamp:2; }
  .eden-mobile .node-price { font-size:13px;line-height:1.1;margin-top:1px; }
  .eden-mobile .node-portion { font-size:11px;line-height:1.1; }
  .eden-mobile #player { width:38px;height:49px; }
  .eden-mobile .node-name-full { display:none; }
  .eden-mobile .node-name-compact { display:inline; }
}
