.cafe-play{max-width:1260px;margin:auto;padding:42px 28px 10px}
.floor-heading{margin:0 0 16px}
.floor-heading h2{margin:4px 0;font-size:32px}
.floor-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:18px}
.cafe-floor{height:510px;position:relative;overflow:hidden;background:linear-gradient(135deg,#f4dfbe,#ead1ae);border:8px solid #fffaf2;box-shadow:inset 0 0 0 1px #d7bc94,var(--shadow)}
.cafe-floor:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(119,85,51,.08) 1px,transparent 1px),linear-gradient(rgba(119,85,51,.08) 1px,transparent 1px);background-size:42px 42px}
.floor-counter{position:absolute;left:0;top:0;bottom:0;width:11%;min-width:72px;background:#795a41;color:#fff4df;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:8px 0 20px rgba(71,44,24,.14)}
.floor-counter span{font-size:30px}
.floor-counter>b,.floor-kitchen-station>b,.floor-coffee-station>b,.floor-bar-front>span{display:none!important}
.floor-window{position:absolute;right:4%;top:3%;width:64px;height:32px;display:grid;place-items:center;background:#cce5df;border:5px solid #fff6e7;border-radius:30px 30px 5px 5px}
.floor-rug{position:absolute;left:39%;top:34%;width:28%;height:35%;background:#d9a27e;border:5px solid rgba(255,255,255,.28);border-radius:45%;opacity:.65}
.floor-table{position:absolute;left:var(--x);top:var(--y);width:126px;height:104px;border:0;border-radius:48%;background:#fff8e9;box-shadow:0 10px 0 #b88761,0 15px 18px rgba(79,50,26,.18);cursor:pointer;z-index:3;transition:.2s}
.floor-table:before,.floor-table:after{content:"";position:absolute;top:28px;width:27px;height:48px;background:#7a9a7e;border-radius:10px;z-index:-1}
.floor-table:before{left:-20px}
.floor-table:after{right:-20px}
.floor-table span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:27px;height:27px;background:#eee1cb;color:#8d745c;border-radius:50%;font-size:11px;font-weight:800}
.floor-table i{display:none}
.floor-table.dirty{filter:saturate(.75)}
.floor-table.dirty i{display:block;position:absolute;inset:20px;background-image:radial-gradient(circle,#9c704f 0 3px,transparent 4px),radial-gradient(circle,#d39d63 0 4px,transparent 5px);background-size:29px 25px;background-position:2px 1px,15px 12px}
.floor-table.dirty:after{content:"CLEAN";z-index:2;right:12px;top:68px;width:auto;height:auto;background:#e78f69;color:white;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:900}
.floor-table:hover{transform:translateY(-3px)}
.guest-layer{position:absolute;inset:0;pointer-events:none;z-index:5}
.guest{position:absolute;left:88%;top:84%;width:62px;height:62px;border:0;border-radius:22px;background:#fffaf2;box-shadow:0 8px 18px rgba(61,42,25,.2);font-size:35px;display:grid;place-items:center;transition:left 1.65s cubic-bezier(.3,.1,.25,1),top 1.65s cubic-bezier(.3,.1,.25,1),transform .2s;pointer-events:auto;cursor:pointer}
.guest.walking{animation:guestBob .36s infinite alternate}
.guest.waiting{left:var(--gx);top:var(--gy);animation:guestWait 1.2s infinite alternate}
.guest.leaving{left:-12%;top:82%;transition-duration:1.15s}
.guest-bubble{position:absolute;left:40px;bottom:48px;min-width:96px;background:white;border-radius:14px 14px 14px 3px;padding:7px 9px;font-size:10px;font-weight:800;box-shadow:0 5px 15px rgba(55,42,26,.16);white-space:nowrap}
.guest-bubble b{font-size:17px;margin-right:4px}
.entrance{position:absolute;right:3%;bottom:2%;font-size:9px;font-weight:900;letter-spacing:.12em;color:#856c53}
.entrance span{display:inline-grid;place-items:center;width:26px;height:26px;background:var(--sage);color:white;border-radius:50%;font-size:15px}
.task-panel{padding:26px}
.task-panel h2{font:700 27px Fredoka;margin:5px 0}
.task-panel>p{font-size:13px;color:var(--muted);margin:0 0 20px}
.task-list{display:grid;gap:10px}
.task-item{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;background:#f8f3ea;border:1px solid var(--line);padding:12px;border-radius:15px}
.task-icon{width:38px;height:38px;display:grid;place-items:center;background:white;border-radius:12px;font-size:20px}
.task-copy{display:grid;gap:2px}
.task-copy b{font-size:13px}
.task-copy span{font-size:11px;color:var(--muted)}
.task-item button{border:0;background:var(--sage);color:white;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:800;cursor:pointer}
.task-item button:disabled{background:#ded8cd;color:#8b847a}
.task-item.complete{border-color:#a7c4ac;background:#eef5ef}
.floor-tip{display:block;color:var(--muted);line-height:1.45;margin-top:18px}
.install-app{color:var(--sage)!important;font-weight:800}
.cafe-floor.furniture .floor-table{background:#fff1dc;box-shadow:0 10px 0 #8c654d,0 15px 18px rgba(79,50,26,.18)}
.cafe-floor.luxe .floor-table:before,.cafe-floor.luxe .floor-table:after{background:#9b78a9}
@keyframes guestBob{to{transform:translateY(-4px) rotate(2deg)}
}
@keyframes guestWait{to{transform:translateY(-3px)}
}
@media(max-width:900px){.floor-layout{grid-template-columns:1fr}
.cafe-floor{height:470px}
.task-panel{order:-1}
}
@media(max-width:560px){.cafe-play{padding:34px 14px 10px}
.floor-heading{display:block}
.floor-heading>span{display:block;margin-top:6px}
.cafe-floor{height:430px}
.floor-counter{min-width:52px}
.floor-table{width:92px;height:78px}
.floor-table:before,.floor-table:after{width:20px;height:38px;top:20px}
.floor-table:before{left:-14px}
.floor-table:after{right:-14px}
.guest{width:52px;height:52px;font-size:29px}
.guest-bubble{left:32px;bottom:42px}
.task-panel{padding:20px}
}

/* Split Chef and Barista workstations on the live café floor. */
.floor-counter{display:grid;grid-template-rows:28% 72%;align-items:stretch;justify-content:stretch;gap:0;overflow:hidden;background:none;z-index:1}
.floor-kitchen-station,.floor-coffee-station{position:relative;display:flex;align-items:center;justify-content:center}
.floor-kitchen-station{border-bottom:5px solid #5e4534;background-color:#e6d8c2;background-image:linear-gradient(90deg,rgba(104,82,61,.14) 1px,transparent 1px),linear-gradient(rgba(104,82,61,.14) 1px,transparent 1px);background-size:18px 18px;color:#5b4534;box-shadow:inset -8px 0 0 #b99067}
.floor-coffee-station{background:linear-gradient(90deg,#765239,#876148 72%,#5f422f 73%,#5f422f 100%);color:#fff4df}
.station-appliance{position:absolute;left:50%;top:13px;width:36px;height:28px;transform:translateX(-50%);border:3px solid rgba(255,255,255,.72);border-radius:6px;box-sizing:border-box;filter:drop-shadow(0 4px 3px rgba(60,40,25,.18))}
.floor-kitchen-station .station-appliance{background:radial-gradient(circle at 28% 34%,#554940 0 3px,#988b7d 4px 6px,transparent 7px),radial-gradient(circle at 72% 34%,#554940 0 3px,#988b7d 4px 6px,transparent 7px),radial-gradient(circle at 28% 76%,#554940 0 3px,#988b7d 4px 6px,transparent 7px),radial-gradient(circle at 72% 76%,#554940 0 3px,#988b7d 4px 6px,transparent 7px),#c3b6a7;border-color:#fffaf0}
.floor-kitchen-station .station-appliance:after{content:"";position:absolute;left:4px;right:4px;bottom:-8px;height:4px;border-radius:4px;background:#5e5148}
.floor-coffee-station .station-appliance{top:18px;height:31px;background:linear-gradient(#e9dcd2 0 30%,#855d4b 31% 50%,#d1bbb0 51% 100%);border-color:#f7eee8}
.floor-coffee-station .station-appliance:before{content:"";position:absolute;left:6px;bottom:-12px;width:20px;height:10px;border:2px solid #e5d5ec;border-radius:2px 2px 8px 8px;background:#a587a8}
.floor-coffee-station .station-appliance:after{content:"";position:absolute;right:-8px;bottom:-10px;width:8px;height:8px;border:2px solid #e5d5ec;border-left:0;border-radius:0 8px 8px 0}

/* Cozy storybook décor and visible furniture progression. */
.cafe-floor{isolation:isolate;border-radius:28px;background:linear-gradient(145deg,#f9e9cb,#efd6b5 58%,#e8caa6)}
.cafe-floor:before{z-index:0;background-image:linear-gradient(90deg,rgba(132,91,55,.07) 1px,transparent 1px),linear-gradient(rgba(132,91,55,.07) 1px,transparent 1px),radial-gradient(circle at 18px 18px,rgba(255,255,255,.28) 0 3px,transparent 4px);background-size:42px 42px,42px 42px,42px 42px}
.floor-garland{position:absolute;left:14%;right:15%;top:5px;height:20px;z-index:2;border-top:3px solid #8b6a58;background:repeating-conic-gradient(from 28deg at 50% 0,#e89c91 0 16deg,#f3c678 17deg 32deg,#82a889 33deg 48deg,#a68bb5 49deg 64deg,transparent 65deg 80deg) 0 2px/54px 18px repeat-x;filter:drop-shadow(0 3px 2px rgba(91,58,40,.12));pointer-events:none}
.floor-menu-board{position:absolute;left:46%;top:7%;z-index:2;width:82px;height:48px;display:grid;place-items:center;padding:7px;border:4px solid #b8885f;border-radius:8px;background:#3f5a4a;color:#fff8e8;box-shadow:0 5px 8px rgba(70,45,27,.16);transform:rotate(-2deg);pointer-events:none}.floor-menu-board b{font:700 10px Fredoka;letter-spacing:.12em}.floor-menu-board span{font:8px Fredoka;color:#f6d7ad}
.floor-plant{position:absolute;bottom:3%;z-index:2;width:30px;height:24px;border-radius:5px 5px 12px 12px;background:linear-gradient(90deg,#b66f52,#df9670,#a96049);box-shadow:0 5px 7px rgba(80,49,29,.15);pointer-events:none}.floor-plant:before{content:"";position:absolute;left:2px;bottom:15px;width:14px;height:27px;border-radius:90% 10% 90% 10%;background:#72966f;transform:rotate(-28deg);box-shadow:13px -4px 0 #8eae7e,7px -15px 0 #5f855f}.floor-plant-left{left:15%}.floor-plant-right{right:13%;transform:scale(.85)}
.floor-window{z-index:2;color:#4f776e;box-shadow:0 5px 9px rgba(72,53,34,.12)}.floor-window:before{content:"";position:absolute;left:-10px;top:-3px;width:12px;height:34px;border-radius:9px 2px 9px 3px;background:#eaa59d;box-shadow:70px 0 0 #eaa59d}.floor-window:after{content:"";position:absolute;left:5px;right:5px;bottom:-12px;height:10px;border-radius:3px 3px 8px 8px;background:repeating-linear-gradient(90deg,#8da779 0 8px,#e3a486 9px 13px)}
.floor-rug{z-index:1;opacity:.82;border-color:rgba(255,255,255,.58);background:radial-gradient(circle at 50% 58%,#e9b395 0 27%,#d9967c 28% 48%,#c98373 49% 51%,#efc5a9 52%)}.floor-rug:before{content:"";position:absolute;left:50%;top:54%;width:44%;height:38%;transform:translate(-50%,-50%);border-radius:52% 48% 45% 45%;background:rgba(255,244,226,.48)}.floor-rug:after{content:"";position:absolute;left:34%;top:25%;width:16%;height:18%;border-radius:50%;background:rgba(255,244,226,.48);box-shadow:30px -8px 0 rgba(255,244,226,.48),58px 0 0 rgba(255,244,226,.48)}
.floor-table{border:3px solid rgba(255,255,255,.72);background:radial-gradient(circle at 50% 48%,#fffdf5 0 12%,transparent 13%),linear-gradient(145deg,#fffaf0,#f6e7d3);box-shadow:0 10px 0 #b88761,0 16px 20px rgba(79,50,26,.18)}.floor-table span{border:2px solid white;background:#f5dcc5;color:#795d4a;box-shadow:0 3px 6px rgba(86,56,33,.13)}
.floor-pastry-display{position:absolute;left:10%;top:43%;z-index:2;width:57px;height:48px;border:4px solid #f8f0e7;border-radius:9px;background:linear-gradient(rgba(205,236,229,.78),rgba(255,250,239,.86));box-shadow:0 7px 10px rgba(65,43,28,.2),inset 0 -11px 0 #bf855f;opacity:0;transform:translateX(-12px) scale(.82);transition:.45s;pointer-events:none}.floor-pastry-display:before{content:"";position:absolute;left:5px;right:5px;top:21px;height:2px;background:#c59b80}.floor-pastry-display:after{content:"";position:absolute;left:7px;right:7px;bottom:-8px;height:5px;border-radius:0 0 5px 5px;background:#79563f}.floor-pastry-display span,.floor-pastry-display i,.floor-pastry-display b{position:absolute;top:9px;width:10px;height:8px;border-radius:50% 50% 3px 3px;background:#e9a176;box-shadow:inset 0 -2px 0 #bd745b}.floor-pastry-display span{left:7px}.floor-pastry-display i{left:22px;background:#d9a95e}.floor-pastry-display b{left:37px;background:#c8899a}
.cafe-floor[data-counter]:not([data-counter="0"]) .floor-pastry-display{opacity:1;transform:translateX(0) scale(.9)}.cafe-floor[data-counter="2"] .floor-pastry-display,.cafe-floor[data-counter="3"] .floor-pastry-display{transform:translateX(0) scale(1)}.cafe-floor[data-counter="4"] .floor-pastry-display,.cafe-floor[data-counter="5"] .floor-pastry-display{transform:translateX(0) scale(1.08);filter:drop-shadow(0 0 7px rgba(255,211,125,.55))}.cafe-floor[data-counter="5"] .floor-pastry-display{animation:displayTwinkle 1.8s ease-in-out infinite alternate}
.cafe-floor[data-booths]:not([data-booths="0"]) .floor-table:before,.cafe-floor[data-booths]:not([data-booths="0"]) .floor-table:after{border:3px solid rgba(255,255,255,.55);background:linear-gradient(#d89483,#c77971);box-shadow:0 5px 0 #8e5c52}.cafe-floor[data-booths="2"] .floor-table:before,.cafe-floor[data-booths="2"] .floor-table:after{background:linear-gradient(#c88786,#af6e78)}.cafe-floor[data-booths="3"] .floor-table:before,.cafe-floor[data-booths="3"] .floor-table:after{background:linear-gradient(#a87898,#8e6083);box-shadow:0 5px 0 #67455f,0 0 0 3px #ead2b3}.cafe-floor[data-booths="4"] .floor-table:before,.cafe-floor[data-booths="4"] .floor-table:after{width:31px;background:linear-gradient(#9c79a6,#795d8a);box-shadow:0 5px 0 #594765,0 0 0 3px #e7c17c}.cafe-floor[data-booths="5"] .floor-table:before,.cafe-floor[data-booths="5"] .floor-table:after{width:34px;background:linear-gradient(#ad8abb,#745984);box-shadow:0 5px 0 #51405c,0 0 0 4px #f0cf8b,0 4px 12px rgba(125,83,140,.45)}
.cafe-floor[data-marble]:not([data-marble="0"]) .floor-table{background:linear-gradient(25deg,transparent 43%,rgba(163,136,174,.2) 44% 46%,transparent 47%),linear-gradient(155deg,#fffefd,#eee8ef);box-shadow:0 10px 0 #aa91ad,0 17px 22px rgba(72,49,75,.2)}.cafe-floor[data-marble="2"] .floor-table{border-color:#e4c688}.cafe-floor[data-marble="3"] .floor-table{box-shadow:0 10px 0 #9b7fa2,0 0 0 4px #e5c47e,0 18px 24px rgba(72,49,75,.24)}.cafe-floor[data-marble="4"] .floor-table{filter:drop-shadow(0 0 6px rgba(215,184,113,.45))}.cafe-floor[data-marble="5"] .floor-table{border-color:#fff5c9;box-shadow:0 10px 0 #8f7198,0 0 0 5px #e9c46f,0 0 18px rgba(245,208,115,.72),0 20px 28px rgba(72,49,75,.26)}
.furniture-celebrate:after{content:"♡  ✦  ♡";position:absolute;left:50%;top:44%;z-index:12;transform:translate(-50%,-50%);color:#fff6c8;font:700 36px Fredoka;text-shadow:0 3px 10px #ad6f83;pointer-events:none;animation:furnitureCelebrate .9s ease-out both}
@keyframes furnitureCelebrate{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,-85%) scale(1.25)}}
@keyframes displayTwinkle{to{filter:drop-shadow(0 0 10px rgba(255,220,142,.9))}}
@media(max-width:560px){.floor-menu-board{left:48%;width:66px;height:42px}.floor-garland{left:16%;right:14%}.floor-plant{transform:scale(.75)}.floor-pastry-display{left:9%;transform:translateX(-10px) scale(.7)}.cafe-floor[data-counter]:not([data-counter="0"]) .floor-pastry-display{transform:translateX(0) scale(.72)}}
.cafe-floor[data-booths]:not([data-booths="0"]) .floor-table.dirty:after{content:"CLEAN";z-index:2;right:12px;top:68px;left:auto;width:auto;height:auto;border:0;background:#e78f69;color:white;padding:5px 8px;border-radius:99px;box-shadow:none;font-size:9px;font-weight:900}

/* Full-body storybook cat customers replace the former face emoji guests. */
.guest{top:78%;width:68px;height:86px;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:0;filter:none}.guest.leaving{top:78%}.storybook-customer{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 6px 5px rgba(65,43,28,.22));transition:transform .2s ease}.guest:hover .storybook-customer{transform:translateY(-2px) scale(1.04)}.guest-bubble{left:50px;bottom:67px;z-index:2;font-size:10px}.guest-bubble b{font-size:17px}.customer-avatar{overflow:hidden;padding:0;background:linear-gradient(145deg,#f8e8d8,#eadcc8);box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)}.customer-avatar .storybook-customer{width:50px;height:62px;margin:-4px auto 0;filter:drop-shadow(0 4px 3px rgba(65,43,28,.16))}
@media(max-width:560px){.guest{width:54px;height:70px}.guest-bubble{left:39px;bottom:55px}.customer-avatar .storybook-customer{width:46px;height:58px}}

/* Painted, head-only customers use the same source artwork as the staff. */
.guest{top:80%;width:70px;height:76px}.guest.leaving{top:80%}.painted-customer-head{position:relative;display:block;width:70px;height:76px;overflow:visible;background:transparent;filter:drop-shadow(0 5px 4px rgba(65,43,28,.22));transition:transform .2s ease}.painted-customer-head img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;max-width:none}.guest:hover .painted-customer-head{transform:translateY(-2px) scale(1.05)}.guest-bubble{left:53px;bottom:60px}.customer-avatar{display:grid;place-items:center}.customer-avatar .painted-customer-head{width:48px;height:52px;filter:drop-shadow(0 3px 3px rgba(65,43,28,.16))}.customer-avatar .painted-customer-head img{width:100%;height:100%}
@media(max-width:560px){.guest{width:60px;height:66px}.painted-customer-head{width:60px;height:66px}.guest-bubble{left:44px;bottom:51px}.customer-avatar .painted-customer-head{width:44px;height:48px}}

/* Dimensional furniture pass: layered materials, bevels, reflections, and soft depth. */
.cafe-floor{perspective:900px;box-shadow:inset 0 0 0 1px #d7bc94,inset 0 18px 30px rgba(255,255,255,.28),0 18px 42px rgba(84,55,31,.18)}
.floor-counter{border-right:1px solid rgba(255,255,255,.3);box-shadow:inset -9px 0 14px rgba(48,30,18,.22),inset 3px 0 0 rgba(255,255,255,.16),10px 0 22px rgba(68,42,22,.2)}
.floor-kitchen-station{background-color:#e8dcc9;background-image:linear-gradient(115deg,rgba(255,255,255,.5),transparent 30%),linear-gradient(90deg,rgba(104,82,61,.14) 1px,transparent 1px),linear-gradient(rgba(104,82,61,.14) 1px,transparent 1px);box-shadow:inset -10px 0 0 #b99067,inset 0 -8px 12px rgba(96,69,44,.13),inset 0 3px 0 rgba(255,255,255,.65)}
.floor-coffee-station{background:linear-gradient(90deg,rgba(255,255,255,.13),transparent 18%),repeating-linear-gradient(92deg,#765239 0 18px,#7d5940 19px 37px,#825d43 38px 58px);box-shadow:inset -13px 0 0 #5f422f,inset 0 7px 12px rgba(255,255,255,.09),inset 0 -12px 18px rgba(49,29,16,.24)}
.station-appliance{filter:drop-shadow(0 6px 4px rgba(56,37,25,.25))}
.floor-kitchen-station .station-appliance{box-shadow:inset 0 4px 5px rgba(255,255,255,.68),inset 0 -5px 7px rgba(73,62,51,.2),0 3px 0 #817267}
.floor-coffee-station .station-appliance{background:linear-gradient(110deg,rgba(255,255,255,.72),transparent 28%),linear-gradient(#e9dcd2 0 30%,#855d4b 31% 50%,#d1bbb0 51% 100%);box-shadow:inset 0 3px 4px rgba(255,255,255,.75),inset 0 -5px 6px rgba(74,46,34,.2),0 3px 0 #63483c}
.floor-table{transform-style:preserve-3d;border:3px solid rgba(255,255,255,.88);background:radial-gradient(ellipse at 33% 20%,rgba(255,255,255,.98) 0 11%,transparent 28%),radial-gradient(circle at 50% 48%,#fffdf5 0 12%,transparent 13%),linear-gradient(150deg,#fffdf6 0 43%,#f7ead7 72%,#ead4b8 100%);box-shadow:inset 0 5px 8px rgba(255,255,255,.9),inset 0 -9px 13px rgba(152,111,76,.15),0 4px 0 #e5cfb0,0 11px 0 #ae7c58,0 19px 25px rgba(70,43,23,.25)}
.floor-table:before,.floor-table:after{top:25px;border:3px solid rgba(255,255,255,.52);background:radial-gradient(circle at 50% 25%,rgba(255,255,255,.58) 0 4px,transparent 5px),linear-gradient(105deg,rgba(255,255,255,.32),transparent 35%),linear-gradient(#86a68b,#66856c);box-shadow:inset 0 -8px 10px rgba(49,78,57,.22),0 4px 0 #506c56,0 10px 12px rgba(60,42,28,.24)}
.floor-table span{border:2px solid rgba(255,255,255,.95);background:radial-gradient(circle at 34% 28%,#fff 0 10%,transparent 12%),linear-gradient(145deg,#f8e8d8,#e5c7ac);box-shadow:inset 0 -3px 5px rgba(132,91,57,.13),0 4px 7px rgba(74,48,28,.2)}
.floor-table:hover{transform:translateY(-4px) rotateX(1.5deg);filter:brightness(1.025)}
.floor-pastry-display{border:4px solid #fff8ef;background:linear-gradient(120deg,rgba(255,255,255,.78) 0 12%,transparent 13% 45%,rgba(255,255,255,.3) 46% 53%,transparent 54%),linear-gradient(rgba(196,235,229,.72),rgba(255,250,239,.9));box-shadow:inset 0 3px 7px rgba(255,255,255,.8),inset 0 -10px 0 #bd815d,0 4px 0 #8b5d42,0 11px 15px rgba(65,43,28,.28)}
.floor-pastry-display:before{height:3px;background:linear-gradient(90deg,#9d765e,#e7c9b3,#9d765e);box-shadow:0 2px 3px rgba(82,52,35,.16)}
.floor-pastry-display:after{bottom:-10px;height:7px;background:linear-gradient(#8e6348,#5f412f);box-shadow:0 4px 6px rgba(58,36,23,.22)}
.floor-menu-board{border-color:#c79a6d;background:linear-gradient(145deg,#4c6957,#304a3d);box-shadow:inset 0 0 0 2px rgba(255,255,255,.12),0 4px 0 #7e593f,0 10px 13px rgba(61,39,24,.24)}
.floor-plant{background:linear-gradient(105deg,#c47c5c,#e4a17c 42%,#a95f48);box-shadow:inset 3px 3px 4px rgba(255,255,255,.28),inset -4px -5px 5px rgba(111,55,41,.2),0 6px 8px rgba(80,49,29,.2)}
.cafe-floor[data-booths]:not([data-booths="0"]) .floor-table:before,.cafe-floor[data-booths]:not([data-booths="0"]) .floor-table:after{background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.58) 0 4px,transparent 5px),linear-gradient(110deg,rgba(255,255,255,.35),transparent 35%),linear-gradient(#df9a89,#bd6e68);box-shadow:inset 0 -9px 11px rgba(106,51,52,.24),0 4px 0 #8e5c52,0 11px 13px rgba(76,43,34,.28)}
.cafe-floor[data-booths="3"] .floor-table:before,.cafe-floor[data-booths="3"] .floor-table:after,.cafe-floor[data-booths="4"] .floor-table:before,.cafe-floor[data-booths="4"] .floor-table:after,.cafe-floor[data-booths="5"] .floor-table:before,.cafe-floor[data-booths="5"] .floor-table:after{background:radial-gradient(circle at 50% 23%,#e7c58a 0 3px,#77576f 4px 6px,transparent 7px),linear-gradient(110deg,rgba(255,255,255,.38),transparent 34%),linear-gradient(#b18cba,#745984);box-shadow:inset 0 -10px 12px rgba(54,34,65,.29),0 4px 0 #51405c,0 0 0 4px #e8c77e,0 12px 15px rgba(74,46,79,.35)}
.cafe-floor[data-marble]:not([data-marble="0"]) .floor-table{background:radial-gradient(ellipse at 30% 17%,rgba(255,255,255,.98),transparent 24%),linear-gradient(25deg,transparent 42%,rgba(145,118,158,.28) 43% 45%,transparent 46%),linear-gradient(155deg,#fffefd,#e8e0eb);box-shadow:inset 0 5px 8px #fff,inset 0 -9px 13px rgba(128,101,137,.15),0 4px 0 #d8c5da,0 11px 0 #927899,0 20px 27px rgba(67,43,70,.27)}
.cafe-floor[data-marble="3"] .floor-table,.cafe-floor[data-marble="4"] .floor-table,.cafe-floor[data-marble="5"] .floor-table{box-shadow:inset 0 5px 9px #fff,inset 0 -10px 14px rgba(117,83,126,.18),0 4px 0 #f5df9c,0 11px 0 #8d7095,0 0 0 5px #e5c47e,0 21px 29px rgba(66,42,69,.3)}
.cafe-floor[data-marble="5"] .floor-table{border-color:#fff8d8;filter:drop-shadow(0 0 7px rgba(245,208,115,.58))}

/* Cozy top-down illustrated furniture language inspired by the supplied reference. */
.floor-table{width:118px;height:96px;border:4px solid #815654;border-radius:24px 24px 30px 30px;background:radial-gradient(ellipse at 32% 20%,rgba(255,255,255,.7),transparent 25%),linear-gradient(145deg,#f2c8bc,#d99591);box-shadow:inset 0 4px 0 rgba(255,255,255,.38),inset 0 -8px 0 rgba(128,72,70,.18),0 5px 0 #6f4848,0 12px 0 #a56e64,0 18px 21px rgba(67,39,34,.28)}
.floor-table:before,.floor-table:after{top:22px;width:29px;height:52px;border:4px solid #704b51;border-radius:13px 13px 17px 17px;background:radial-gradient(circle at 50% 26%,rgba(255,255,255,.5) 0 4px,transparent 5px),linear-gradient(105deg,rgba(255,255,255,.3),transparent 37%),linear-gradient(#ca8d9a,#a9687c);box-shadow:inset 0 -8px 0 rgba(83,46,65,.2),0 5px 0 #60434d,0 10px 12px rgba(66,38,37,.25)}
.floor-table:before{left:-23px}.floor-table:after{right:-23px}
.floor-table span{background:linear-gradient(145deg,#fff3e7,#e7b9a9);border-color:#fff6ec;color:#704b48;box-shadow:0 0 0 2px #8a5b56,inset 0 2px 0 white,0 4px 5px rgba(72,41,35,.2)}
.floor-counter{outline:3px solid #68463c;outline-offset:-3px}
.floor-kitchen-station,.floor-coffee-station{border-left:2px solid rgba(255,245,229,.28)}
.floor-kitchen-station{box-shadow:inset -10px 0 0 #b47c66,inset 0 0 0 4px rgba(119,72,62,.14),inset 0 -9px 0 rgba(126,78,64,.12)}
.floor-coffee-station{background:linear-gradient(90deg,rgba(255,255,255,.14),transparent 20%),repeating-linear-gradient(90deg,#865b50 0 20px,#915f55 21px 39px,#7a5048 40px 60px);box-shadow:inset -13px 0 0 #67433d,inset 0 0 0 4px rgba(91,52,48,.24),inset 0 -13px 0 rgba(75,43,39,.18)}
.station-appliance{border-width:3px;border-color:#744e4d!important}
.floor-pastry-display{border-color:#7d5250;box-shadow:inset 0 0 0 3px #fff6ed,inset 0 -10px 0 #b97868,0 5px 0 #654441,0 12px 15px rgba(65,39,35,.3)}
.floor-menu-board{border-color:#754b48;box-shadow:inset 0 0 0 3px #ba8069,0 5px 0 #63413d,0 11px 14px rgba(61,36,31,.27)}
.cafe-floor[data-booths]:not([data-booths="0"]) .floor-table:before,.cafe-floor[data-booths]:not([data-booths="0"]) .floor-table:after{border-color:#674653}
.cafe-floor[data-marble]:not([data-marble="0"]) .floor-table{border-color:#76536f;background:radial-gradient(ellipse at 30% 17%,rgba(255,255,255,.82),transparent 25%),linear-gradient(25deg,transparent 42%,rgba(126,82,120,.24) 43% 46%,transparent 47%),linear-gradient(145deg,#f9e3df,#d7a7b3);box-shadow:inset 0 5px 8px rgba(255,255,255,.78),inset 0 -8px 0 rgba(112,75,108,.15),0 5px 0 #694d68,0 11px 0 #b38a9e,0 18px 23px rgba(63,41,60,.3)}
@media(max-width:560px){.floor-table{width:88px;height:72px;border-width:3px;border-radius:18px 18px 22px 22px}.floor-table:before,.floor-table:after{top:16px;width:21px;height:40px;border-width:3px}.floor-table:before{left:-17px}.floor-table:after{right:-17px}}

/* Matching illustrated décor: bold silhouettes, warm outlines, and top-down depth. */
.cafe-floor{background-color:#edcfad;background-image:linear-gradient(145deg,rgba(255,243,221,.72),rgba(224,177,147,.28)),repeating-linear-gradient(90deg,transparent 0 63px,rgba(111,70,54,.12) 64px 65px)}
.cafe-floor:before{opacity:.9;background-image:linear-gradient(90deg,rgba(112,67,52,.1) 2px,transparent 2px),linear-gradient(rgba(112,67,52,.1) 2px,transparent 2px),linear-gradient(135deg,rgba(255,255,255,.2) 0 24%,transparent 25%);background-size:42px 42px,42px 42px,84px 84px}
.floor-rug{left:38%;top:32%;width:31%;height:38%;opacity:1;border:4px solid #704b50;border-radius:28px;background:linear-gradient(145deg,#c87882,#a85f72);box-shadow:inset 0 0 0 7px #df9c97,inset 0 0 0 10px #7a4d58,inset 0 8px 12px rgba(255,255,255,.18),0 6px 0 #5f4148,0 14px 18px rgba(66,39,36,.22)}
.floor-rug:before{top:56%;width:43%;height:37%;border-radius:48% 48% 44% 44%;background:#f2c9b2;box-shadow:inset 0 -5px 0 rgba(151,86,86,.13)}
.floor-rug:after{left:31%;top:24%;width:15%;height:17%;background:#f2c9b2;box-shadow:31px -8px 0 #f2c9b2,62px 0 0 #f2c9b2,inset 0 -3px 0 rgba(151,86,86,.12)}
.floor-garland{top:7px;height:22px;border-top:4px solid #684744;background:repeating-conic-gradient(from 28deg at 50% 0,#dc8588 0 16deg,#efbb68 17deg 32deg,#73977a 33deg 48deg,#967aa2 49deg 64deg,transparent 65deg 80deg) 0 3px/54px 19px repeat-x;filter:drop-shadow(0 2px 0 #704b49) drop-shadow(0 5px 3px rgba(76,44,38,.18))}
.floor-window{width:68px;height:36px;border:4px solid #724d4f;border-radius:13px 13px 5px 5px;background:linear-gradient(135deg,#b9e0db 0 42%,#f8ffff 43% 51%,#afd7d2 52%);color:#5d7f78;box-shadow:inset 0 0 0 3px #fff0df,0 5px 0 #5d4144,0 11px 12px rgba(68,41,37,.2)}
.floor-window:before{left:-12px;top:-5px;width:13px;height:43px;border:3px solid #724a50;border-radius:7px 2px 8px 4px;background:linear-gradient(90deg,#c86f7b,#e79991);box-shadow:73px 0 0 -3px #724a50,76px 0 0 #dc8588}
.floor-window:after{left:4px;right:4px;bottom:-14px;height:11px;border:3px solid #704b4c;border-radius:3px 3px 8px 8px;background:repeating-linear-gradient(90deg,#789578 0 8px,#dea079 9px 14px);box-shadow:0 3px 0 rgba(83,49,42,.18)}
.floor-menu-board{width:86px;height:51px;border:4px solid #704946;border-radius:6px;background:linear-gradient(145deg,#476451,#30483d);box-shadow:inset 0 0 0 4px #b77962,inset 0 0 0 6px rgba(255,245,225,.13),0 5px 0 #5e3e3b,0 12px 14px rgba(61,36,31,.28);transform:rotate(-1deg)}
.floor-menu-board b{font-size:11px;text-shadow:0 2px 0 rgba(36,54,44,.5)}.floor-menu-board span{font-size:8px;color:#ffdba7}
.floor-plant{width:36px;height:29px;border:3px solid #704c49;border-radius:6px 6px 13px 13px;background:linear-gradient(105deg,#bd6f5e,#e5987d 46%,#9f594f);box-shadow:inset 3px 3px 0 rgba(255,255,255,.2),inset -4px -5px 0 rgba(103,50,46,.17),0 5px 0 #684643,0 11px 10px rgba(70,41,35,.2)}
.floor-plant:before{left:3px;bottom:21px;width:17px;height:31px;border-radius:90% 10% 90% 10%;background:#70916c;transform:rotate(-28deg);box-shadow:14px -3px 0 #8daa78,8px -17px 0 #5b7d5d,20px -17px 0 #77966a;filter:drop-shadow(0 0 1px #465b48) drop-shadow(0 3px 1px rgba(58,44,36,.2))}
.floor-pastry-display{width:61px;height:50px;border:4px solid #724d4c;border-radius:7px;background:linear-gradient(120deg,rgba(255,255,255,.8) 0 13%,transparent 14% 45%,rgba(255,255,255,.32) 46% 53%,transparent 54%),linear-gradient(rgba(185,226,219,.78),rgba(255,240,225,.92));box-shadow:inset 0 0 0 3px #fff1e1,inset 0 -11px 0 #b97567,0 5px 0 #5d403f,0 12px 15px rgba(61,37,34,.3)}
.floor-pastry-display span,.floor-pastry-display i,.floor-pastry-display b{border:1px solid #7c514c;box-shadow:inset 0 -2px 0 rgba(115,61,56,.28),0 2px 0 rgba(255,255,255,.35)}
.entrance{padding:4px 7px;border:2px solid #724d4a;border-radius:12px;background:#f5d7bd;color:#704c46;box-shadow:0 3px 0 #8e5d54}.entrance span{border:2px solid #704b49;background:#77957b;box-shadow:inset 0 2px 0 rgba(255,255,255,.3)}
.station-appliance{border-color:#704b49!important;border-radius:5px;box-shadow:inset 0 3px 0 rgba(255,255,255,.45),0 4px 0 #5d403d,0 8px 7px rgba(57,35,31,.23)}
.floor-kitchen-station .station-appliance{background:radial-gradient(circle at 28% 34%,#554940 0 3px,#9d8c7d 4px 6px,transparent 7px),radial-gradient(circle at 72% 34%,#554940 0 3px,#9d8c7d 4px 6px,transparent 7px),radial-gradient(circle at 28% 76%,#554940 0 3px,#9d8c7d 4px 6px,transparent 7px),radial-gradient(circle at 72% 76%,#554940 0 3px,#9d8c7d 4px 6px,transparent 7px),linear-gradient(145deg,#d9c9ba,#a99383)}
@media(max-width:560px){.floor-rug{left:37%;width:33%;border-width:3px}.floor-rug:after{box-shadow:23px -6px 0 #f2c9b2,46px 0 0 #f2c9b2}.floor-window{transform:scale(.82);transform-origin:top right}.floor-plant{transform:scale(.72)}.floor-menu-board{transform:rotate(-1deg) scale(.82);transform-origin:top center}}

/* Boutique café furniture variant: cream stone, walnut, sage upholstery, and brass. */
.floor-counter{width:16%;min-width:104px;border-right:4px solid #5f4438;background:#765442;box-shadow:inset -10px 0 0 #5f4337,inset 3px 0 0 rgba(255,255,255,.15),11px 0 20px rgba(64,41,28,.24)}
.floor-kitchen-station{background-color:#eee2cc;background-image:linear-gradient(115deg,rgba(255,255,255,.58),transparent 30%),linear-gradient(90deg,rgba(90,67,48,.17) 2px,transparent 2px),linear-gradient(rgba(90,67,48,.17) 2px,transparent 2px);background-size:auto,22px 22px,22px 22px;border-bottom:6px solid #65483b;box-shadow:inset -9px 0 0 #b58868,inset 0 -8px 0 rgba(111,75,52,.13)}
.floor-coffee-station{background:linear-gradient(90deg,rgba(255,255,255,.14),transparent 22%),repeating-linear-gradient(90deg,#7a5844 0 23px,#85614b 24px 46px,#74513f 47px 69px);box-shadow:inset -11px 0 0 #5a4035,inset 0 0 0 4px rgba(78,53,42,.18),inset 0 -13px 0 rgba(66,43,35,.23)}
.floor-bar-front{position:absolute;left:13%;top:28%;bottom:0;width:3.2%;z-index:6;border-left:3px solid #5c4035;border-right:3px solid #5c4035;background:linear-gradient(90deg,#8e6a50,#b18460 45%,#76533f);box-shadow:inset 3px 0 0 rgba(255,255,255,.2),5px 0 8px rgba(60,39,29,.2);pointer-events:none}.floor-bar-front:before{content:"";position:absolute;left:-4px;right:-4px;top:0;height:9px;border:3px solid #5d4236;border-radius:4px;background:linear-gradient(#f5e6cf,#cba980);box-shadow:0 4px 0 #6a493a}
.floor-table{border-color:#684a3c;border-radius:42px 42px 34px 34px;background:radial-gradient(circle at 22% 23%,#c7b395 0 2px,transparent 3px),radial-gradient(circle at 72% 68%,#bba889 0 2px,transparent 3px),linear-gradient(145deg,#fff8e8,#e8d6b9);background-size:31px 27px,37px 35px,auto;box-shadow:inset 0 4px 0 rgba(255,255,255,.7),inset 0 -8px 0 rgba(131,98,66,.15),0 5px 0 #5d4135,0 12px 0 #9f7658,0 19px 22px rgba(63,41,29,.28)}
.floor-table:before,.floor-table:after{border-color:#4f654f;background:radial-gradient(circle at 50% 25%,#e8d49d 0 4px,#58705a 5px 7px,transparent 8px),linear-gradient(105deg,rgba(255,255,255,.3),transparent 36%),linear-gradient(#8aa081,#657e69);box-shadow:inset 0 -9px 0 rgba(43,68,48,.22),0 5px 0 #405541,0 11px 12px rgba(56,40,29,.27)}
.floor-table span{background:linear-gradient(145deg,#fffaf0,#dac7a9);border-color:#fff9e9;color:#674c3e;box-shadow:0 0 0 2px #6c4b3c,inset 0 2px 0 white,0 4px 5px rgba(61,40,29,.2)}
.cafe-floor[data-booths]:not([data-booths="0"]) .floor-table:before,.cafe-floor[data-booths]:not([data-booths="0"]) .floor-table:after{border-color:#4b604b;background:radial-gradient(circle at 50% 24%,#e7cf8d 0 4px,#55705a 5px 7px,transparent 8px),linear-gradient(110deg,rgba(255,255,255,.32),transparent 35%),linear-gradient(#91aa89,#617964);box-shadow:inset 0 -9px 0 rgba(40,63,44,.23),0 5px 0 #405442,0 0 0 3px #d4b66f,0 12px 13px rgba(53,40,29,.28)}
.cafe-floor[data-marble]:not([data-marble="0"]) .floor-table{border-color:#73513f;background:radial-gradient(circle at 22% 23%,#ccb995 0 2px,transparent 3px),radial-gradient(circle at 72% 68%,#bfa982 0 2px,transparent 3px),linear-gradient(25deg,transparent 44%,rgba(112,137,110,.2) 45% 47%,transparent 48%),linear-gradient(145deg,#fffaf0,#e6d9bf);background-size:31px 27px,37px 35px,auto,auto;box-shadow:inset 0 5px 8px rgba(255,255,255,.75),inset 0 -8px 0 rgba(109,84,57,.14),0 5px 0 #5d4135,0 11px 0 #af865e,0 0 0 4px #d9b864,0 19px 24px rgba(61,41,29,.29)}
.floor-pastry-display{left:17%;top:43%;z-index:7;width:68px;height:55px;opacity:.82;transform:translateX(0) scale(.9);border-color:#65483c;border-radius:12px 12px 7px 7px;background:linear-gradient(120deg,rgba(255,255,255,.86) 0 12%,transparent 13% 44%,rgba(255,255,255,.38) 45% 54%,transparent 55%),linear-gradient(rgba(194,226,215,.82),rgba(255,246,226,.94));box-shadow:inset 0 0 0 3px #fff8e8,inset 0 -12px 0 #8aa081,0 5px 0 #533b32,0 12px 15px rgba(55,37,28,.3)}
.floor-pastry-display:after{background:linear-gradient(#b28862,#684939)}.cafe-floor[data-counter]:not([data-counter="0"]) .floor-pastry-display{opacity:1;transform:translateX(0) scale(1)}.cafe-floor[data-counter="4"] .floor-pastry-display,.cafe-floor[data-counter="5"] .floor-pastry-display{transform:translateX(0) scale(1.06)}
@media(max-width:560px){.floor-counter{width:16%;min-width:67px}.floor-bar-front{left:12.8%;width:3.5%}.floor-pastry-display{left:16%;transform:scale(.65);transform-origin:left center}.cafe-floor[data-counter]:not([data-counter="0"]) .floor-pastry-display{transform:scale(.72)}.floor-table{border-radius:28px 28px 23px 23px}}

/* A compact, fully dressed coffee workstation ending two floor tiles above the entrance. */
.floor-counter{bottom:84px}
.floor-bar-front{bottom:84px}
.floor-pastry-display{left:10%;top:auto;bottom:17px;opacity:1;transform:translateX(-50%) scale(.94);transform-origin:center bottom}
.cafe-floor[data-counter]:not([data-counter="0"]) .floor-pastry-display{transform:translateX(-50%) scale(1)}
.cafe-floor[data-counter="4"] .floor-pastry-display,.cafe-floor[data-counter="5"] .floor-pastry-display{transform:translateX(-50%) scale(1.06)}
.floor-coffee-worktop{position:absolute;right:8px;top:13%;bottom:11%;z-index:2;width:40px;border:3px solid #593e34;border-radius:9px;background:linear-gradient(90deg,#f3e4cc,#c9a77d 55%,#9f7958);box-shadow:inset 3px 0 0 rgba(255,255,255,.55),inset -5px 0 0 rgba(95,61,42,.15),4px 0 0 #4f382f,7px 0 9px rgba(52,34,26,.22)}
.floor-coffee-worktop:before{content:"";position:absolute;inset:7px 6px;border-left:2px dashed rgba(104,73,52,.3);border-right:2px dashed rgba(255,255,255,.35)}
.espresso-machine{position:absolute;left:5px;top:9%;width:27px;height:38px;border:3px solid #543c38;border-radius:6px;background:linear-gradient(110deg,#fff 0 11%,transparent 12%),linear-gradient(#b9c7c3 0 24%,#6f847f 25% 48%,#d7ded9 49% 100%);box-shadow:inset 0 3px 0 rgba(255,255,255,.6),0 4px 0 #4c3934}
.espresso-machine:before{content:"••";position:absolute;left:4px;top:2px;color:#b65d55;font:bold 8px sans-serif;letter-spacing:3px}
.espresso-machine:after{content:"";position:absolute;left:8px;bottom:-10px;width:15px;height:8px;border:2px solid #5d4540;border-radius:2px 2px 7px 7px;background:#eee3d4;box-shadow:14px -8px 0 -5px #65493f}
.coffee-grinder{position:absolute;left:9px;top:42%;width:21px;height:27px;border:3px solid #543c38;border-radius:5px;background:linear-gradient(#9277a1 0 40%,#5f496a 41% 100%);box-shadow:0 4px 0 #4b3734}
.coffee-grinder:before{content:"";position:absolute;left:3px;top:-14px;width:15px;height:14px;border:2px solid #5a413a;border-radius:8px 8px 3px 3px;background:rgba(211,229,221,.78)}
.coffee-cups{position:absolute;left:7px;bottom:9%;width:25px;height:8px;border:2px solid #654840;border-radius:3px;background:repeating-linear-gradient(90deg,#f8eee0 0 5px,#d7aa9b 6px 10px);box-shadow:0 4px 0 #75564b}
.floor-coffee-station>.station-appliance{display:none}
@media(max-width:560px){.floor-counter,.floor-bar-front{bottom:84px}.floor-pastry-display{left:10%;bottom:23px;transform:translateX(-50%) scale(.68)}.cafe-floor[data-counter]:not([data-counter="0"]) .floor-pastry-display{transform:translateX(-50%) scale(.74)}.floor-coffee-worktop{right:4px;width:28px;border-width:2px}.espresso-machine{left:3px;width:20px;height:32px;border-width:2px}.espresso-machine:before{font-size:6px;letter-spacing:1px}.espresso-machine:after{left:5px;width:12px}.coffee-grinder{left:5px;width:17px}.coffee-cups{left:4px;width:19px}}

/* Safe portrait framing keeps every ear, cheek, chin, and whisker clear of the order bubble. */
.painted-customer-head{display:grid;place-items:center;width:76px;height:82px;padding:5px;box-sizing:border-box}
.painted-customer-head img{width:100%;height:100%;object-fit:contain;object-position:center}
.guest{width:76px;height:82px}
.guest-bubble{left:calc(100% + 5px);bottom:60px}
.customer-avatar .painted-customer-head{width:52px;height:56px;padding:4px}
@media(max-width:560px){.guest{width:66px;height:72px}.painted-customer-head{width:66px;height:72px;padding:4px}.guest-bubble{left:calc(100% + 4px);bottom:52px}.customer-avatar .painted-customer-head{width:48px;height:52px}}
.guest-bubble{display:flex;align-items:center;gap:6px;padding:6px 9px 6px 6px}.guest-bubble>b{font-size:10px;margin:0}.guest-bubble .recipe-art{border-radius:10px;background:#fff7e9}

/* Painted storybook planters replace the earlier CSS-drawn pots and leaves. */
.floor-plant{
  width:68px;
  height:68px;
  bottom:2.1%;
  border:0;
  border-radius:0;
  background:transparent url("assets/decor/storybook-plant.png") center/contain no-repeat;
  box-shadow:none;
  filter:drop-shadow(0 5px 4px rgba(70,44,30,.18));
  transform:none;
}
.floor-plant:before,.floor-plant:after{content:none;display:none}
.floor-plant-left{left:13.5%}
.floor-plant-right{right:9.5%;transform:scaleX(-1)}
@media(max-width:560px){
  .floor-plant{width:54px;height:54px;bottom:2.4%;transform:none}
  .floor-plant-left{left:13%}
  .floor-plant-right{right:8%;transform:scaleX(-1)}
}

/* Storybook room shell: glazed painted tiles, a warm upper wall, and a matching pastry case. */
.cafe-floor{
  background-color:#f5d8ad;
  background-image:url("assets/decor/storybook-floor.webp");
  background-position:center;
  background-size:235px 235px;
  background-repeat:repeat;
}
.cafe-floor:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:18.5%;
  z-index:0;
  opacity:1;
  background:#f5dfaa url("assets/decor/storybook-wall.webp") center/auto 100% repeat-x;
  box-shadow:0 6px 8px rgba(87,55,34,.2),inset 0 -3px 0 rgba(83,52,34,.2);
  pointer-events:none;
}
.floor-pastry-display{
  left:10%;
  top:auto;
  bottom:7px;
  z-index:7;
  width:98px;
  height:98px;
  opacity:1;
  border:0;
  border-radius:0;
  background:transparent url("assets/decor/storybook-display-case.png") center/contain no-repeat;
  box-shadow:none;
  filter:drop-shadow(0 7px 6px rgba(61,39,27,.24));
  transform:translateX(-50%) scale(.94);
  transform-origin:center bottom;
}
.floor-pastry-display:before,.floor-pastry-display:after,
.floor-pastry-display span,.floor-pastry-display i,.floor-pastry-display b{content:none;display:none}
.cafe-floor[data-counter]:not([data-counter="0"]) .floor-pastry-display{transform:translateX(-50%) scale(1)}
.cafe-floor[data-counter="4"] .floor-pastry-display,.cafe-floor[data-counter="5"] .floor-pastry-display{transform:translateX(-50%) scale(1.06);filter:drop-shadow(0 7px 6px rgba(61,39,27,.24)) drop-shadow(0 0 7px rgba(255,211,125,.46))}
@media(max-width:560px){
  .cafe-floor{background-size:180px 180px}
  .cafe-floor:before{height:18%;background-size:auto 100%}
  .floor-pastry-display{left:10%;bottom:15px;width:75px;height:75px;transform:translateX(-50%) scale(.92)}
  .cafe-floor[data-counter]:not([data-counter="0"]) .floor-pastry-display{transform:translateX(-50%) scale(1)}
}

/* Rotated endpoint display and painted workstation equipment. */
.floor-pastry-display{
  left:8%;
  bottom:0;
  width:136px;
  height:102px;
  background-image:url("assets/decor/storybook-display-case-wide.png");
  transform:translateX(-50%) scale(.94);
}
.cafe-floor[data-counter]:not([data-counter="0"]) .floor-pastry-display{transform:translateX(-50%) scale(1)}
.cafe-floor[data-counter="4"] .floor-pastry-display,.cafe-floor[data-counter="5"] .floor-pastry-display{transform:translateX(-50%) scale(1.06)}
.floor-kitchen-station .station-appliance{
  left:50%;
  top:7px;
  z-index:1;
  width:94px;
  height:68px;
  border:0!important;
  border-radius:0;
  background:transparent url("assets/decor/storybook-kitchen-equipment.png") center/contain no-repeat;
  box-shadow:none;
  filter:drop-shadow(0 5px 4px rgba(56,37,25,.2));
}
.floor-kitchen-station .station-appliance:before,.floor-kitchen-station .station-appliance:after{content:none;display:none}
.floor-coffee-worktop{
  right:2px;
  top:3%;
  bottom:auto;
  z-index:1;
  width:74px;
  height:142px;
  border:0;
  border-radius:0;
  background:transparent url("assets/decor/storybook-coffee-equipment.png") center/contain no-repeat;
  box-shadow:none;
  filter:drop-shadow(0 6px 5px rgba(52,34,26,.24));
}
.floor-coffee-worktop:before,.floor-coffee-worktop:after,
.floor-coffee-worktop .espresso-machine,.floor-coffee-worktop .coffee-grinder,.floor-coffee-worktop .coffee-cups{content:none;display:none}
@media(max-width:560px){
  .floor-pastry-display{left:8%;bottom:10px;width:100px;height:76px;transform:translateX(-50%) scale(.94)}
  .cafe-floor[data-counter]:not([data-counter="0"]) .floor-pastry-display{transform:translateX(-50%) scale(1)}
  .floor-kitchen-station .station-appliance{top:8px;width:60px;height:45px}
  .floor-coffee-worktop{right:-1px;top:5%;width:51px;height:98px}
}

/* Exact red, blue, and orange placement pass from the annotated preview. */
.cafe-floor:before{background-image:url("assets/decor/storybook-wall-smooth.webp")}
.floor-kitchen-station{
  background-color:#e9d59b;
  background-image:url("assets/decor/storybook-wall-smooth.webp");
  background-position:center;
  background-size:auto 100%;
  background-repeat:repeat-x;
}
.floor-pastry-display{
  left:8%;
  bottom:3px;
  width:14.8%;
  min-width:104px;
  max-width:124px;
  height:78px;
  background-image:url("assets/decor/storybook-display-overhead.png");
  transform:translateX(-50%) scale(.94);
}
.floor-kitchen-station .station-appliance{
  top:3px;
  width:100px;
  height:70px;
  background-image:url("assets/decor/storybook-stove-overhead.png");
}
.floor-coffee-worktop{
  right:5px;
  top:8%;
  width:43px;
  height:158px;
  background-image:url("assets/decor/storybook-coffee-overhead.png");
  background-size:100% 100%;
}
.floor-window{
  right:2.4%;
  top:-5px;
  z-index:3;
  width:112px;
  height:77px;
  border:0;
  border-radius:0;
  background:transparent url("assets/decor/storybook-window.png") center/contain no-repeat;
  box-shadow:none;
  color:transparent;
  font-size:0;
  filter:drop-shadow(0 5px 4px rgba(68,41,37,.2));
}
.floor-window:before,.floor-window:after{content:none;display:none}
@media(max-width:560px){
  .floor-pastry-display{left:8%;bottom:9px;width:15%;min-width:64px;height:54px;transform:translateX(-50%) scale(.94)}
  .floor-kitchen-station .station-appliance{top:4px;width:62px;height:45px}
  .floor-coffee-worktop{right:2px;top:8%;width:31px;height:113px}
  .floor-window{right:1%;top:-4px;width:78px;height:55px;transform:none}
}

/* Aligned room finishes: continuous café wall, small ivory kitchen tile, and matching walnut bar floor. */
.floor-kitchen-station{
  background-color:#f7f4ed;
  background-image:url("assets/decor/storybook-wall-smooth.webp"),url("assets/decor/storybook-kitchen-tile.webp");
  background-position:center top,center bottom;
  background-size:auto 94px,64px 64px;
  background-repeat:repeat-x,repeat;
  border-bottom:5px solid #65483b;
  box-shadow:inset -9px 0 0 #b58868,inset 0 -6px 0 rgba(111,75,52,.1);
}
.floor-coffee-station{
  background-color:#8a4f20;
  background-image:linear-gradient(90deg,rgba(255,236,196,.1),transparent 30%,rgba(77,38,15,.12)),url("assets/decor/storybook-coffee-wood.webp");
  background-position:center,center;
  background-size:100% 100%,72px 116px;
  background-repeat:no-repeat,repeat;
  box-shadow:inset -11px 0 0 #5c3219,inset 0 0 0 3px rgba(83,42,19,.2),inset 0 -10px 0 rgba(60,29,13,.18);
}
@media(max-width:900px){
  .floor-kitchen-station{background-size:auto 87px,58px 58px}
  .floor-coffee-station{background-size:100% 100%,66px 106px}
}
@media(max-width:560px){
  .floor-kitchen-station{background-size:auto 80px,46px 46px}
  .floor-coffee-station{background-size:100% 100%,54px 88px}
}

/* Refined workstation footprint and three-quarter kitchen range. */
.floor-coffee-station{
  overflow:visible;
  background:transparent;
  box-shadow:none;
}
.floor-coffee-station:before{
  content:"";
  position:absolute;
  left:0;
  right:23px;
  top:0;
  bottom:52px;
  z-index:0;
  background-color:#b27d50;
  background-image:linear-gradient(90deg,rgba(255,242,212,.16),transparent 34%,rgba(89,48,24,.08)),url("assets/decor/storybook-coffee-wood-light.webp");
  background-position:center,center;
  background-size:100% 100%,68px 108px;
  background-repeat:no-repeat,repeat;
  box-shadow:inset 0 0 0 3px rgba(101,61,34,.16),inset 0 -7px 0 rgba(92,49,24,.12);
  pointer-events:none;
}
.floor-pastry-display{bottom:65px}
.floor-kitchen-station .station-appliance{
  top:41px;
  width:102px;
  height:106px;
  background-image:url("assets/decor/storybook-stove-perspective.png");
  background-size:contain;
}
@media(max-width:900px){
  .floor-coffee-station:before{right:20px;bottom:46px;background-size:100% 100%,62px 98px}
  .floor-pastry-display{bottom:58px}
  .floor-kitchen-station .station-appliance{top:37px;width:94px;height:98px}
}
@media(max-width:560px){
  .floor-coffee-station:before{right:14px;bottom:35px;background-size:100% 100%,48px 78px}
  .floor-pastry-display{bottom:49px}
  .floor-kitchen-station .station-appliance{top:25px;width:64px;height:67px}
}

/* Keep both workstation floors fully inside the brown café boundary. */
.floor-counter{width:13%;min-width:84px;border-right:0;outline:0;box-shadow:none}
.floor-kitchen-station{box-shadow:none}
.floor-coffee-station:before{right:0}
.floor-kitchen-station .station-appliance{
  top:42px;
  width:76px;
  height:80px;
}
@media(max-width:560px){
  .floor-counter{width:13%;min-width:54px}
  .floor-coffee-station:before{right:0}
  .floor-kitchen-station .station-appliance{top:27px;width:48px;height:50px}
}

/* Narrow workstation footprint and painted storybook rug. */
.floor-counter{width:10.5%;min-width:68px}
.floor-bar-front{left:10.5%;width:3.2%}
.floor-rug{
  left:38%;
  top:32%;
  width:31%;
  height:38%;
  border:0;
  border-radius:0;
  opacity:1;
  background:transparent url("assets/decor/storybook-rug.png") center/contain no-repeat;
  box-shadow:none;
  filter:drop-shadow(0 9px 6px rgba(72,40,45,.24));
}
.floor-rug:before,.floor-rug:after{content:none;display:none}
@media(max-width:560px){
  .floor-counter{width:10.5%;min-width:44px}
  .floor-bar-front{left:10.5%;width:3.2%}
  .floor-rug{left:37%;width:33%;border:0}
}

/* Align the divider with the grout line that begins the third café-floor column. */
.floor-counter{width:16.75%;min-width:0;overflow:visible}
.floor-bar-front{left:16.75%;width:3.2%}

/* Painted overhead dining sets replace the CSS-built furniture. */
.floor-table,
.cafe-floor.furniture .floor-table,
.cafe-floor[data-marble]:not([data-marble="0"]) .floor-table{
  width:154px;
  height:106px;
  border:0;
  border-radius:0;
  background:transparent url("assets/decor/storybook-table.png") center/contain no-repeat!important;
  box-shadow:none!important;
  filter:drop-shadow(0 8px 5px rgba(67,43,31,.24));
}
.floor-table:before,.floor-table:after{content:none;display:none!important}
.floor-table span{
  width:25px;
  height:25px;
  z-index:2;
  border:2px solid #fff8e8;
  background:#efcfbb;
  color:#66483b;
  box-shadow:0 2px 0 #9a735a,0 4px 6px rgba(70,43,28,.18);
}
.floor-table.dirty i{display:block;inset:25px 43px 25px 43px;border-radius:22px}
.floor-table.dirty:after{
  content:"CLEAN";
  display:block!important;
  position:absolute;
  z-index:4;
  right:28px;
  top:73px;
  width:auto;
  height:auto;
  padding:5px 8px;
  border:0;
  border-radius:99px;
  background:#e78f69;
  color:#fff;
  font-size:9px;
  font-weight:900;
}

/* Dynamic storybook chalkboard for the real-day weather. */
.floor-menu-board{
  width:92px;
  height:56px;
  padding:9px 8px 7px;
  border:6px solid #7a4d33;
  border-radius:11px 14px 10px 13px;
  background:
    radial-gradient(ellipse at 24% 31%,rgba(255,255,255,.07) 0 8%,transparent 9%),
    radial-gradient(ellipse at 76% 68%,rgba(255,255,255,.05) 0 10%,transparent 11%),
    linear-gradient(145deg,#38574a,#243d34);
  box-shadow:inset 0 0 0 3px #c28b58,inset 0 0 0 5px rgba(255,247,218,.1),0 5px 0 #553626,0 12px 14px rgba(61,36,31,.28);
  transform:rotate(-1.2deg);
}
.floor-menu-board:before{content:"";position:absolute;left:13px;right:13px;top:-11px;height:5px;border-radius:5px;background:#b98555;box-shadow:0 2px 0 #583927}
.floor-menu-board:after{content:"";position:absolute;left:17px;right:17px;bottom:9px;height:1px;background:rgba(255,242,204,.32);transform:rotate(-2deg)}
.floor-menu-board b{font-size:11px;letter-spacing:.08em;color:#fff8dc;text-shadow:1px 1px 0 rgba(26,45,37,.7)}
.floor-menu-board span{font-size:8px;color:#f6d7a6;text-shadow:1px 1px 0 rgba(26,45,37,.7)}
@media(max-width:560px){
  .floor-counter{width:16.75%;min-width:0}
  .floor-bar-front{left:16.75%;width:3.2%}
  .floor-table,.cafe-floor.furniture .floor-table,.cafe-floor[data-marble]:not([data-marble="0"]) .floor-table{width:112px;height:78px}
  .floor-table.dirty:after{right:18px;top:52px}
  .floor-menu-board{width:72px;height:47px;padding:7px 6px 5px;border-width:4px}
}

/* Final divider placement: midpoint of the second large café-floor tile. */
.floor-counter{width:12.5%;min-width:0}
.floor-bar-front{left:12.5%;width:3.2%}
.floor-kitchen-station{
  background-clip:border-box;
  background-origin:border-box;
}
@media(max-width:560px){
  .floor-counter{width:12.5%;min-width:0}
  .floor-bar-front{left:12.5%;width:3.2%}
}

/* Centered weather board and playful fish-shaped bunting. */
.floor-menu-board{
  left:50%;
  grid-template-rows:auto auto;
  gap:2px;
  transform:translateX(-50%) rotate(-1.2deg);
}
.floor-menu-board span{order:1;font-size:7px;letter-spacing:.08em;color:#f6d7a6}
.floor-menu-board b{order:2;font-size:11px;letter-spacing:.04em;color:#fff8dc}
.floor-garland{
  border-top:0;
  height:26px;
  background:transparent url("assets/decor/fish-bunting.svg") left top/216px 26px repeat-x;
  filter:drop-shadow(0 3px 2px rgba(91,58,40,.16));
}
@media(max-width:560px){
  .floor-menu-board{left:50%;transform:translateX(-50%) rotate(-1deg) scale(.82);transform-origin:top center}
  .floor-garland{background-size:216px 26px}
}

/* Extend the kitchen to the grout line above the second horizontal tile row. */
.floor-counter{grid-template-rows:40% 60%}
.floor-bar-front{top:40%}

/* Carry the barista wood floor all the way down to the display case. */
.floor-coffee-station:before{bottom:0}
@media(max-width:900px){.floor-coffee-station:before{bottom:0}}
@media(max-width:560px){.floor-coffee-station:before{bottom:0}}

/* Final workstation alignment, continuous kitchen wall, and compact level weather board. */
.floor-kitchen-station{
  position:relative;
  background-color:#f7f4ed;
  background-image:url("assets/decor/storybook-kitchen-tile.webp");
  background-position:center;
  background-size:44px 44px;
  background-repeat:repeat;
}
.floor-kitchen-station:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:94px;
  z-index:0;
  background:#ead79e url("assets/decor/storybook-wall-smooth.webp") center/auto 100% repeat-x;
  pointer-events:none;
}
.floor-coffee-worktop{right:-7px;top:8%}
.floor-bar-front{top:18.5%}
.floor-menu-board{
  width:72px;
  height:42px;
  z-index:6;
  padding:5px 6px 4px;
  border-width:3px;
  transform:translateX(-50%) rotate(0deg);
}
.floor-menu-board span{font-size:6px}
.floor-menu-board b{font-size:10px}
@media(max-width:560px){
  .floor-kitchen-station{background-size:38px 38px}
  .floor-kitchen-station:before{height:77px}
  .floor-coffee-worktop{right:-5px}
  .floor-bar-front{top:18%}
  .floor-menu-board{width:64px;height:38px;padding:4px 5px 3px;transform:translateX(-50%) rotate(0deg) scale(.82)}
}
@media(min-width:561px) and (max-width:900px){.floor-kitchen-station:before{height:87px}}

/* Keep the kitchen wall, café wall, and divider on one responsive seam. */
.cafe-floor{--wall-seam:94px}
.cafe-floor:before,
.floor-kitchen-station:before{height:var(--wall-seam)}
.floor-bar-front{top:var(--wall-seam)}
@media(min-width:561px) and (max-width:900px){.cafe-floor{--wall-seam:87px}}
@media(max-width:560px){.cafe-floor{--wall-seam:77px}}
