/* A visible side sticker on every game layout. */
#gameShell{padding-top:0}
html[data-game-layout] #gameShell #sceneWrap{height:100svh;height:100dvh;min-height:0}
#gameShell #sceneWrap #cafeLocationsOpen{position:absolute;left:max(12px,env(safe-area-inset-left));top:calc(50% - 74px);z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:110px;min-height:80px;padding:4px 2px;background:none;border:0;box-shadow:none;color:#92623e;cursor:pointer;touch-action:manipulation;transform:rotate(-5deg);transition:transform .15s}
#cafeLocationsOpen:before,#cafeLocationsOpen:after{display:none!important}
#cafeLocationsOpen img{display:block;width:88px;height:88px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 2px #65452b55)}
#gameShell #sceneWrap #cafeLocationsOpen span{display:block;margin-top:-3px;padding:4px 8px;background:#fff3dd url('paper-fibres.svg') repeat;border:1px dashed #c29c74;border-radius:8px 5px 9px 7px;font:800 12px/1.3 Nunito,sans-serif!important;letter-spacing:.015em;white-space:nowrap}
#gameShell #sceneWrap #cafeLocationsOpen:hover{transform:rotate(0) translateY(-2px)}
#gameShell #sceneWrap #cafeLocationsOpen:active{transform:rotate(0) scale(.94)}
#gameShell #sceneWrap #cafeLocationsOpen:focus-visible{outline:3px solid #708e69;outline-offset:4px;border-radius:18px}
html[data-game-layout="compact"] #gameShell #sceneWrap #cafeLocationsOpen{left:max(8px,env(safe-area-inset-left));top:calc(var(--play-top,140px) + 82px);width:90px}
html[data-game-layout="compact"] #cafeLocationsOpen img{width:64px;height:64px}
html[data-game-window="true"] #gameShell #sceneWrap #cafeLocationsOpen{left:max(12px,calc((100% - 660px)/2));top:calc(var(--play-top,140px) + 90px)}
html[data-game-short="true"] #gameShell #sceneWrap #cafeLocationsOpen{top:calc(var(--play-top,120px) + 64px)}
html[data-game-short="true"] #cafeLocationsOpen img{width:48px;height:48px}
html[data-game-landscape="true"] #gameShell #sceneWrap #cafeLocationsOpen{top:auto;bottom:12px}
#cafeLocationsDialog{width:min(430px,calc(100vw - 28px));max-height:calc(100dvh - 28px);margin:auto;padding:0;overflow:auto;border:1px solid #d1ad87;border-radius:19px 26px 16px 23px;background:#fff6e5 url('paper-fibres.svg') repeat;box-shadow:4px 6px #bc916950,0 18px 70px #48363e66;color:#88684f;text-align:center;font-family:Nunito,sans-serif}
#cafeLocationsDialog::backdrop{background:#44343e70;backdrop-filter:blur(4px)}
.visit-cafe-note{padding:22px 26px 26px}
#visitCafeArt{display:block;width:130px;height:130px;object-fit:contain;margin:0 auto 8px}
#cafeLocationsDialog h2{font:800 24px/1.3 Nunito,sans-serif;letter-spacing:.02em;color:#8d654b;margin:0 0 12px}
#cafeLocationsDialog p{font:700 15px/1.6 Nunito,sans-serif;margin:0 0 18px;color:#957c6b}
#cafeLocationsDialog #visitCafeDrink{font-size:13px;color:#a56857}
.visit-cafe-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.visit-cafe-actions>*{flex:1 1 130px;display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 13px;border:1px solid #c9a684;border-radius:13px 18px 12px 16px;background:#fffaf0;color:#8b6b59;font:800 15px/1.4 Nunito,sans-serif;text-decoration:none;cursor:pointer;letter-spacing:.02em}
#visitCafeGo{background:#f3c496;color:#815238;box-shadow:inset 0 0 0 3px #fff2db90,1px 3px #c69f7c55}
.visit-cafe-actions>*:focus-visible{outline:3px solid #708e69;outline-offset:4px}
@media(prefers-reduced-motion:reduce){#gameShell #sceneWrap #cafeLocationsOpen{transition:none;transform:none}}
/* Ingredient colour stays on the live step badge, including ice and classic milk. */
#gameShell #sceneWrap .recipe-collage #railHint{background:var(--step-color,#fff0d2);color:var(--step-ink,#4d382f);border:1px solid #76564755;border-radius:10px;padding:5px 3px;box-shadow:1px 2px #7e625222}
#gameShell #sceneWrap #stepHint{background:var(--step-color,#fff0d2);color:var(--step-ink,#4d382f);border-radius:8px;padding:5px}
#gameShell #sceneWrap .recipe-collage .recipe-layer.current .layer-number{background:var(--layer-color);color:var(--layer-ink,#4d382f);outline-color:var(--layer-color)}
#receiptContent:focus{outline:none}

/* Follow the measured menu edge on portrait phones, clear of the bunny's face.
   Include room for the sticker's rotated corners above the tabs. */
html[data-game-layout="compact"]:not([data-game-landscape="true"]) #gameShell #sceneWrap #cafeLocationsOpen{
 top:auto;bottom:calc(var(--dock-space,208px) + 16px);
}
