/* Calm grocery typography and touch targets. The game remains the backdrop. */
:root{--shop-ink:#28483f;--shop-paper:#f7f4eb;--shop-muted:#66776e;--shop-line:#d4ddd0;--shop-green:#436e5a}
#everyday-hud{position:fixed;z-index:140;top:max(12px,env(safe-area-inset-top));left:16px;right:16px;max-width:640px;margin:auto;display:flex;gap:14px;align-items:center;opacity:0;pointer-events:none;transition:opacity .6s;font-family:'Trebuchet MS',sans-serif;color:var(--shop-ink)}
#everyday-hud.ready{opacity:1;pointer-events:auto}.energy-block{background:#f7f4ebed;border:1px solid #d1d9cf;padding:9px 13px;border-radius:16px;width:138px}.energy-block label{display:block;font-size:13px;font-weight:700;letter-spacing:.04em;margin-bottom:5px}#energy{height:9px;border-radius:9px;background:#d5ded2;overflow:hidden}#energy span{display:block;height:100%;width:100%;background:#648b70;transform-origin:left;transition:transform .8s linear;border-radius:9px}#friend-count{font-size:13px;margin-left:auto}#open-bag{display:flex;gap:8px;align-items:center;justify-content:center;min-height:52px;min-width:111px;margin-left:auto;padding:8px 13px;background:var(--shop-paper);border:1px solid #bbcdbf;border-radius:16px;color:var(--shop-ink);font-size:17px;font-weight:700;cursor:pointer}#open-bag svg{width:23px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8}#bag-count{background:#dfe8dc;border-radius:50%;min-width:22px;font-size:13px;padding:3px}
#caption,body[data-safety-area=road] #caption{position:fixed;top:max(82px,calc(env(safe-area-inset-top) + 74px));left:8px;right:8px;width:auto;max-width:680px;min-height:35px;height:35px;padding:7px 5px;margin:auto;box-sizing:border-box;background:#f7f4ebed;border:0;border-radius:10px;display:block;visibility:visible!important;z-index:150;text-align:center;color:#28483f;font:600 16px/21px 'Trebuchet MS',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:none}
#signalbar{top:126px!important;width:132px!important;height:38px!important;left:50%!important;transform:translateX(-50%);padding:4px 9px!important;font-size:16px!important;gap:8px!important}#signalbar .signal-icons{width:28px;height:28px}#signalbar .signal-words{font-size:16px}#signalbar small{display:none}#crossing-awareness{top:172px!important;background:#f7f4ebda!important;font-size:13px!important}
#grocery-actions{position:fixed;bottom:max(116px,calc(env(safe-area-inset-bottom) + 106px));left:16px;right:16px;max-width:500px;margin:auto;display:flex;gap:10px;z-index:110;pointer-events:none;opacity:0;transition:opacity .6s}#grocery-actions[data-show=shop]{opacity:1}#grocery-actions[data-show=shop]>.shop-btn{pointer-events:auto}#grocery-actions .shop-btn{flex:1;margin:0;min-height:58px;font-size:16px;padding:9px}
.shop-btn{display:block;width:100%;min-height:60px;padding:14px 16px;margin-top:12px;border:1px solid var(--shop-green);border-radius:15px;background:var(--shop-green);color:#fffdf5;cursor:pointer;font:600 18px/1.3 'Trebuchet MS',sans-serif;transition:background-color .6s,opacity .6s}.shop-btn.secondary{background:transparent;color:var(--shop-ink);border-color:#c0cdbd}.shop-btn.quiet{background:transparent;color:var(--shop-muted);border-color:transparent;font-size:15px;min-height:48px;margin-top:3px}.shop-btn:disabled{opacity:.55;cursor:default}.shop-btn:focus-visible,.product-card:focus-visible,.small-shop:focus-visible,#open-bag:focus-visible,.close-shop:focus-visible{outline:3px solid #a0baa9;outline-offset:3px}
#grocery-modal{position:fixed;inset:120px 0 0;z-index:180;background:#334a402e;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;padding:12px 12px max(16px,env(safe-area-inset-bottom));box-sizing:border-box}.shop-sheet{width:100%;max-width:590px;max-height:100%;overflow:auto;overscroll-behavior:contain;background:var(--shop-paper);border:1px solid #d1dacb;border-radius:25px;padding:24px;box-sizing:border-box;color:var(--shop-ink);box-shadow:0 12px 50px #253d3a22;font-family:'Trebuchet MS',sans-serif;touch-action:pan-y}.shop-sheet header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;line-height:1.5;color:var(--shop-muted);margin:0 0 9px}.shop-sheet h2,#checkout-panel h2{font:normal 29px/1.13 Georgia,serif;letter-spacing:-.035em;margin:0}.close-shop{flex-shrink:0;width:44px;height:44px;border:1px solid #c8d3c3;background:transparent;border-radius:50%;color:var(--shop-ink);font:28px Georgia;cursor:pointer}.shop-intro{font-size:15px;line-height:1.5;color:var(--shop-muted);margin:14px 0 20px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.product-card{min-width:0;text-align:left;display:flex;flex-direction:column;background:#fffdf8;border:1px solid var(--shop-line);border-radius:16px;padding:12px;color:var(--shop-ink);cursor:pointer;font:14px/1.35 'Trebuchet MS',sans-serif}.product-card img{width:100%;height:126px;object-fit:contain;mix-blend-mode:multiply;margin-bottom:10px}.product-card strong{font-size:16px;margin-bottom:4px}.product-card span{min-height:36px;color:var(--shop-muted);font-size:13px}.product-card b{margin-top:9px;font-size:14px}.product-detail img{display:block;width:100%;height:228px;object-fit:contain;mix-blend-mode:multiply;margin:14px auto}.product-detail h3{font-size:21px;font-weight:600;margin:0 0 5px}.muted{font-size:14px;color:var(--shop-muted);margin:4px 0 15px}.choice-note{background:#e7eddf;border-left:3px solid #8da27d;padding:13px 15px;font-size:16px;line-height:1.5;border-radius:0 9px 9px 0;margin:16px 0}.detail-price,.basket-total{display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-size:22px}.detail-price span,.basket-total span{font-size:13px;color:var(--shop-muted)}.bag-list{margin-top:20px}.bag-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--shop-line)}.bag-row img{width:65px;height:85px;object-fit:contain;mix-blend-mode:multiply}.bag-row>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.bag-row strong{font-size:16px}.bag-row span{font-size:13px;color:var(--shop-muted)}.bag-row b{font-size:14px}.small-shop{min-width:64px;min-height:48px;border-radius:12px;border:1px solid #b8cab7;background:#e6eddf;color:var(--shop-ink);padding:9px;font:600 14px 'Trebuchet MS',sans-serif;cursor:pointer}.empty-bag{padding:45px 4px;font-size:18px;line-height:1.8;color:var(--shop-muted);text-align:center}
#checkout-panel{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:16px;right:16px;max-width:520px;margin:auto;background:#f7f4ebf5;border:1px solid #cad6c5;border-radius:22px;padding:22px;z-index:120;color:var(--shop-ink);opacity:0;pointer-events:none;transition:opacity .6s;text-align:center}#checkout-panel[data-show=true]{opacity:1;pointer-events:auto}.pay-options{display:flex;gap:10px}.pay-options>*{flex:1}#checkout-cover{position:fixed;inset:0;background:#9daf9f;opacity:0;pointer-events:none;z-index:900}#shop-hud{display:none!important}
body[data-world=shop]>#everyday-hud,body[data-world=shop]>#caption,body[data-world=shop]>#grocery-actions,body[data-world=shop]>#grocery-modal,body[data-world=shop]>#checkout-panel,body[data-world=shop]>#checkout-cover{visibility:visible!important}body[data-checkout=true] #world-action{opacity:0;pointer-events:none}
@media(min-width:800px){#grocery-modal{align-items:center;inset:120px 0 0}.shop-sheet{max-height:calc(100% - 28px)}.product-grid{grid-template-columns:repeat(3,1fr)}#caption{font-size:18px}.product-detail img{height:250px}}
@media(max-height:720px){.product-detail img{height:135px}.shop-sheet{padding:18px}.shop-sheet h2{font-size:25px}.choice-note{font-size:14px;padding:9px}.product-card img{height:98px}}

/* Road status lives beside its action, leaving only the spoken line at the top. */
#signalbar{top:auto!important;bottom:128px!important;max-width:100px;height:34px!important;z-index:7;border-radius:9px}
#crossing-awareness{top:auto!important;bottom:128px!important;gap:112px!important;height:34px!important;background:transparent!important}
#crossing-awareness>div{padding:3px 6px;background:#f7f4ebed;border-radius:9px;min-width:0;color:#28483f}
#crossing-awareness .traffic-state{font-size:12px}
#everyday-hud *{visibility:inherit}
body[data-world=shop] #everyday-hud,body[data-world=shop] #everyday-hud *{visibility:visible!important}
