/* The work board participates in layout: never crop its second row. */
.work-task>.task-body{min-width:0}
.account-login{max-width:680px;margin:auto}
.account-login label{margin:12px 0}
.account-login input{font-size:20px;margin:6px 0}
.account-login form>button{width:100%;margin:10px 0}
.account-login>button{margin:8px 8px 0 0;font-size:16px}
#legacyChoices{display:grid;gap:10px;margin-top:10px}
.work-dock button{overflow-wrap:anywhere}
@media(max-width:1199px){
  body:has(.cafe-world)>header,body:has(.cafe-builder)>header{display:none}
  body:has(.cafe-world) main,body:has(.cafe-builder) main{padding:8px;margin:0 auto}
  .cafe-world,.cafe-builder{height:auto;overflow:visible}
  .cafe-world .cafe-home-block,.cafe-builder .cafe-home-block{padding:10px;margin:0;display:block}
  .cafe-world .cafe-stage,.cafe-builder .cafe-stage,.cafe-stage:has(.work-dock[hidden]){display:block;height:auto;min-height:0;aspect-ratio:auto;overflow:visible;padding-bottom:8px}
  .cafe-world .cafe-stage #cafe3d,.cafe-builder .cafe-stage #cafe3d{position:relative;inset:auto;width:100%;height:clamp(240px,62vw,600px);min-height:0;aspect-ratio:auto;border-radius:18px}
  .cafe-world .cafe-stage .work-dock,.cafe-builder .cafe-stage .work-dock{position:relative;inset:auto;width:auto;height:auto;max-height:none;margin:0 8px;padding:12px;display:block;box-shadow:none}
  .cafe-stage .work-dock>span{display:block;font-size:16px;margin:0 0 10px}
  .cafe-stage .work-dock>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:8px}
  .cafe-stage .work-dock button{min-width:0;min-height:88px;padding:12px 10px;font-size:16px;line-height:1.45;height:auto}
  .cafe-stage .work-dock small{font-size:14px;line-height:1.45}
  .room-tools{display:flex;flex-wrap:wrap;gap:10px}
  .room-tools #roomSelection{flex-basis:100%;font-size:14px}
  .room-tools button,.cafe-entry-actions button{min-height:48px!important}
  .cafe-home-copy h1{font-size:24px}.cafe-home-copy .tag{display:none}
  .toolbar{gap:8px;margin-bottom:10px}.toolbar .nav-tools{flex-wrap:wrap}
  .shop-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shop-item button{min-height:48px}.shop-category{padding:0 8px}
  .speech-actions button{min-height:48px}.speech-coach audio{min-width:0;max-width:100%}
}
@media(max-width:599px){
  main,footer{padding:8px;margin:8px auto}
  .panel{border-radius:18px}
  .cafe-stage .work-dock>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cafe-stage .work-dock button{min-height:100px;padding:10px 8px}
  .cafe-stage .work-dock b{display:block;font-size:16px}
  .cafe-stage .work-dock small{font-size:14px}
  .room-tools #decorateButton,.room-tools #openBusinessButton{flex:1 1 130px;margin:0;font-size:16px;padding:10px 8px}
  .cafe-home-copy{align-items:flex-start}.cafe-home-copy p{font-size:16px}
  .cafe-status{font-size:14px;gap:4px 10px}
  .toolbar{font-size:14px}.toolbar button,.toolbar summary{min-height:44px;padding:8px 10px}
  .toolbar .nav-tools{width:100%;gap:8px}
  .shop-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .shop-item{min-width:0}.shop-item .furniture-art{height:120px}.shop-item h2{font-size:16px}
  .style-options{padding:14px}.style-options label{display:flex;flex-wrap:wrap;margin-right:0}
  .style-options button,.style-options select{max-width:100%}
  .work-round{padding:14px}.work-task{grid-template-columns:minmax(0,1fr)}
  .work-round .customer-note{font-size:21px;padding:12px;overflow-wrap:anywhere}
  .work-round input{font-size:20px}.word-bank button{padding:10px 14px;min-height:48px}
  .speech-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .speech-actions button{padding:10px 8px;font-size:16px}
  footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}
}
@media(pointer:coarse){button:hover{transform:none}button{touch-action:manipulation}}
/* In business mode a swipe over the room scrolls the page; drag only in edit mode. */
.cafe-stage:has(.work-dock:not([hidden])) #cafe3d,
.cafe-stage:has(.work-dock:not([hidden])) #cafe3d canvas{touch-action:pan-y}

/* Existing café and task surfaces; customer questions reuse the work-round UI. */
#cafe3d{position:relative}.customer-bubble{position:absolute;transform:translate(-50%,-100%);z-index:3;padding:7px 10px;min-height:40px;background:#fffaf0;border:1px solid #b6aa8e;border-radius:16px;font-size:14px;white-space:nowrap;box-shadow:0 3px 9px #45382120}.customer-bubble[hidden]{display:none}.customer-bubble:disabled{opacity:1;color:#435747}.customer-question{border:0;border-radius:20px;padding:0;width:min(1000px,94vw);max-height:92dvh;overflow:auto;color:inherit;background:#faf8f0}.customer-question::backdrop{background:#28332d88}.customer-question .work-round{margin:0;min-height:0}.unit-select{display:flex;gap:6px;align-items:center;font-size:14px;flex-wrap:wrap;margin:6px 0}.unit-select select{min-height:40px;max-width:100%;font:inherit;border:1px solid #bac6b5;border-radius:9px;background:#fffdf7;padding:6px}.work-dock>label{display:flex}.work-dock>div{min-height:0}.admin td button{margin:3px;min-height:44px}@media(max-width:600px){.customer-question{width:96vw;max-height:94dvh}.customer-question .panel{padding:12px}.customer-question .round-top{flex-wrap:wrap}.customer-bubble{font-size:12px;min-height:36px}.unit-select{font-size:12px;margin:2px}.unit-select select{min-height:34px}}

/* Keep projected customer controls anchored in every interaction state. */
.customer-bubble:hover,.customer-bubble:active,.customer-bubble:focus,.customer-bubble:disabled{transform:translate(-50%,-100%);transition:none}

.work-round .task-drink{display:block;width:130px;max-width:100%;height:130px;margin:0 auto;object-fit:contain}.work-task>aside[hidden]{display:none}.work-task:has(>aside[hidden]){grid-template-columns:1fr}@media(max-width:600px){.work-round .task-drink{width:100px;height:100px}}
