:root{color-scheme:light;--ink:#342d26;--muted:#746a5f;--cream:#faf2e6;--orange:#b44d30;--green:#436953}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}button,select,a{touch-action:manipulation}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #306baf;outline-offset:4px}button:hover:not(:disabled){filter:brightness(.94)}button,a{-webkit-text-fill-color:currentColor}button[hidden],[hidden]{display:none!important}.arcade-nav{max-width:1280px!important;border-bottom:1px solid #dfd1bd}.arcade-brand,.arcade-back{color:var(--ink)!important}.cafe-app{max-width:1280px;margin:auto;padding:24px 30px 40px}.heading{display:flex;justify-content:space-between;align-items:center;margin:10px 0 32px;gap:16px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#957557;margin:0 0 12px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,64px);font-weight:500;letter-spacing:-2px;line-height:1.05;margin-bottom:14px}.heading p:not(.eyebrow){color:var(--muted);margin-bottom:0}.seal{width:110px;height:110px;flex-shrink:0;border:1px solid #b9a58c;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(9deg);font-size:33px}.seal span{text-align:center;font-size:9px;letter-spacing:2px;line-height:1.6}.cafe-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:26px}.planner{background:#fffaf3;border:1px solid #e1d5c5;border-radius:18px;padding:24px;height:fit-content}.planner h2{font-family:Georgia,serif;font-size:27px;font-weight:500;line-height:1.15;margin-bottom:26px}.planner label{display:block;font-size:12px;font-weight:700;margin:18px 0 7px}select{width:100%;padding:11px;border:1px solid #d1c2ae;border-radius:9px;background:#fffaf3;color:var(--ink)}.shift-note{border-top:1px dashed #d5c4b2;margin-top:22px;padding-top:18px;display:grid;gap:8px;font-size:12px;line-height:1.5}.shift-note strong{font-size:15px}.shift-note span{color:var(--muted)}.primary{background:var(--game-skin-main,var(--orange));color:#fff;border:0;border-radius:10px;padding:13px 18px;font-weight:750;font-size:14px}.planner .primary{width:100%;margin-top:20px}.account-hint,.account-link{font-size:12px;line-height:1.5;margin:12px 0 0}.account-link,.shop-link{color:#875039}.guide{border-top:1px solid #e2d5c4;margin:24px 0 18px;padding-top:20px}.guide h3{font-size:13px}.guide ol{padding-left:18px;font-size:12px;line-height:1.7;color:var(--muted)}.guide li{padding:0 0 8px 4px}.guide p{font-size:10px;line-height:1.5;color:var(--muted)}.shop-link{font-size:13px;font-weight:700}.workplace{min-width:0;border:1px solid #d9cbb9;background:#fffcf7;border-radius:20px;overflow:hidden;align-self:start}.hud{display:flex;align-items:center;gap:25px;padding:17px 24px;background:#fffcf7}.hud>div{display:grid;gap:4px}.hud span{font-size:10px;color:var(--muted);letter-spacing:.5px}.hud strong{font-size:23px;font-variant-numeric:tabular-nums}.hud button{margin-left:auto;background:#f2e9de;color:var(--ink);border:1px solid #d8c8b4;padding:10px 14px;border-radius:9px;font-size:12px}.room{position:relative;background:repeating-linear-gradient(90deg,transparent 0 85px,#cfb89533 86px 87px),#ecdcc2;padding:0 30px 18px;min-height:350px;isolation:isolate}.awning{height:22px;background:repeating-linear-gradient(90deg,var(--game-skin-main,#5e7861) 0 31px,#fbf0d9 31px 62px);border-radius:0 0 12px 12px;margin:0 -30px;box-shadow:0 7px 0 #0000000b}.room-sign{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:700;color:#526344;padding:17px 0}.open-dot{width:6px;height:6px;border-radius:50%;background:#648451}.tables{display:grid;grid-template-columns:1fr 1fr;gap:20px 54px;padding:6px 26px 20px}.table{position:relative;background:#fff6e6;border:2px solid #b69c79;border-bottom-width:6px;border-radius:19px;min-height:112px;padding:10px 12px;color:var(--ink);box-shadow:-13px 8px 0 -7px #7a8d70,13px 8px 0 -7px #7a8d70;transition:background .15s,transform .15s;opacity:1!important}.table:hover:not(:disabled){transform:translateY(-2px)}.table.can-serve{border-color:var(--green);background:var(--game-skin-accent,#e3f1d9);box-shadow:0 0 0 3px #698d6533}.table.urgent{border-color:#be583e}.table-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;color:#826a4e}.guest{font-size:27px;line-height:1}.order{display:block;font-size:12px;font-weight:650;margin:5px 0}.order-icon{font-size:24px;vertical-align:middle;margin-right:6px}.patience{display:block;height:5px;background:#decfb9;border-radius:9px;overflow:hidden}.patience i{display:block;background:#6d8a60;height:100%;transition:width .1s linear}.urgent .patience i{background:#c05435}.table small{display:block;font-size:10px;margin-top:4px;color:#72624e}.waiter{position:absolute;left:calc(50% - 20px);top:52%;font-size:36px;pointer-events:none;z-index:2;transition:transform .25s}.waiter.left{transform:translate(-48px,-8px) rotate(-8deg)}.waiter.right{transform:translate(48px,-8px) rotate(8deg)}.floor-note{text-align:center;color:#897250;font-size:10px;letter-spacing:2px}.cover{position:absolute;inset:22px 0 0;z-index:3;background:#f6ead6eb;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:28px}.cover-icon{font-size:48px;margin-bottom:15px}.cover h2{font-family:Georgia,serif;font-size:28px;font-weight:500;margin-bottom:12px}.cover p{max-width:380px;font-size:13px;line-height:1.7;color:var(--muted)}.kitchen{padding:20px 24px;background:#fffcf7;border-top:5px solid #c4a07b}.kitchen-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.kitchen h2{font-family:Georgia,serif;font-weight:500;font-size:25px;margin:0}.kitchen-title>span{font-size:10px;color:var(--muted);text-align:right;max-width:180px}.recipes{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.recipe{position:relative;min-height:85px;border:1px solid #e1d0b8;border-radius:12px;background:#f8efdf;color:var(--ink);padding:8px 4px;font-size:11px;font-weight:750}.recipe b{font-size:30px;display:block;margin-bottom:5px}.recipe small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.recipe kbd{position:absolute;top:6px;left:7px;color:#8a7158;font-size:9px}.stoves{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.stove{border:1px dashed #c8b69e;border-radius:8px;min-height:42px;padding:9px;font-size:11px;position:relative;overflow:hidden;background:#f9f3e9}.stove span{position:relative;z-index:1}.stove i{position:absolute;inset:0 auto 0 0;background:#e9c88f88}.tray{display:flex;gap:12px;align-items:center;border-top:1px solid #e7daca;padding-top:12px;min-height:49px}.tray strong{font-size:11px;flex-shrink:0}.tray>div{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--muted)}.tray button{border:1px solid #bfceaf;border-radius:7px;background:#eaf0df;padding:5px 10px;color:var(--ink);font-size:20px}.tray-hint{font-size:10px;color:var(--muted);margin:9px 0 0}.service-note{padding:12px 24px;border-top:1px solid #e7daca;font-size:12px;color:#725c45;min-height:43px}.result{text-align:center;background:#eef0dd;padding:26px;border-top:1px solid #d4d9bd}.result-stars{font-size:30px;color:#af7020;letter-spacing:5px}.result h2{font-family:Georgia,serif;font-size:30px;margin:10px 0}.result p{font-size:13px;line-height:1.6}.result button{margin:4px}.cafe-app footer{display:flex;justify-content:space-between;gap:10px;padding:24px 0;color:#8b7c68;font-size:11px}.game-wardrobe{margin-top:10px!important;background:#fffcf7!important;color:var(--ink)!important;border:1px solid #d9cbb9!important}.game-wardrobe a{color:#875039!important}@media(max-width:950px){.cafe-layout{grid-template-columns:220px minmax(0,1fr);gap:16px}.planner{padding:18px}.tables{gap:15px 30px;padding:6px 0 20px}.room{padding-left:22px;padding-right:22px}.awning{margin-left:-22px;margin-right:-22px}.hud{gap:18px;padding:15px}.kitchen{padding:16px}}@media(max-width:700px){.cafe-app{padding:18px 14px 28px}.heading{margin:0 0 22px}.heading p:not(.eyebrow){font-size:12px;line-height:1.5}.eyebrow{font-size:8px;letter-spacing:1.5px}.seal{width:70px;height:70px;font-size:24px}.seal span{font-size:7px}.cafe-layout{display:flex;flex-direction:column}.planner{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:16px}.planner>.eyebrow,.planner h2,.guide{display:none}.planner label{margin:0;grid-row:1}.planner select{grid-row:2;min-width:0}.shift-note{border:0;padding:0;margin:6px 0 0;grid-column:1/-1}.shift-note strong{font-size:13px}.shift-note span{font-size:11px}.planner .primary{margin:6px 0;grid-column:1/-1}.account-hint,.account-link,.shop-link{grid-column:1/-1;margin:0;font-size:11px}.workplace{width:100%}.hud{gap:13px;padding:13px}.hud span{font-size:9px}.hud strong{font-size:20px}.hud button{padding:9px;font-size:11px}.room{padding-left:20px;padding-right:20px;min-height:335px}.tables{gap:16px 34px}.table{padding:8px;min-height:107px}.guest{font-size:23px}.order{font-size:11px}.order-icon{font-size:21px}.kitchen{padding:15px 12px}.kitchen h2{font-size:23px}.recipes{gap:6px}.recipe{font-size:10px}.recipe b{font-size:26px}.recipe kbd{display:none}.cover{padding:23px}.cover h2{font-size:25px}.cover p{font-size:12px}.cafe-app footer{flex-direction:column}.waiter{font-size:29px;left:calc(50% - 16px)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep the entire counter within reach on a phone during a shift. */
.arcade-nav .arcade-language{width:auto;min-width:74px;margin-left:auto}.arcade-back{white-space:nowrap}
.cafe-app .game-wardrobe h2,.cafe-app .game-wardrobe label{color:var(--ink)}.cafe-app .game-wardrobe p{color:var(--muted)}.cafe-app .game-wardrobe select{background:#f4eadc;color:var(--ink);border-color:#cbbba5}.cafe-app .game-wardrobe a{-webkit-text-fill-color:currentColor}.cafe-app .game-wardrobe a:hover{color:#633421!important;-webkit-text-fill-color:currentColor}
.portal-report{background:#fffaf3;border-color:#d9cbb9}.portal-report small{color:#746a5f}.portal-report a{background:#e6eddd;border-color:#a6b79b;color:#344d38!important}
@media(max-width:700px){.is-playing .planner,.is-playing .heading{display:none}.is-playing .cafe-app{padding-top:12px}.is-playing .room{min-height:278px}.is-playing .room-sign{padding:10px 0}.is-playing .tables{gap:12px 34px;padding-bottom:12px}.is-playing .table{min-height:90px}.is-playing .floor-note{font-size:9px}.is-playing .kitchen{padding-top:12px;padding-bottom:12px}.is-playing .kitchen-title{margin-bottom:10px}.is-playing .recipe{min-height:75px}.is-playing .stoves{margin:9px 0}.is-playing .service-note{padding:10px 14px}}
.campaign{border-top:1px solid #e0d2bf;padding-top:18px;margin-top:22px}.campaign h3{font-size:13px;margin-bottom:12px}.campaign small,.campaign p{font-size:10px;line-height:1.5;color:var(--muted)}.campaign p{margin:9px 0 4px}#shift-map{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}#shift-map button{display:grid;gap:3px;border:1px solid #d6c6b0;background:#f8efdf;border-radius:9px;padding:8px 3px;color:var(--ink)}#shift-map button[aria-pressed=true]{outline:2px solid var(--game-skin-main,#b44d30);outline-offset:1px}#shift-map span{font-size:11px;color:#997344;letter-spacing:1px}#shift-map .complete{background:#e9efdc}#shift-map button:disabled{opacity:.6}.shift-meter{position:relative;display:flex;align-items:center;gap:18px;min-height:35px;padding:6px 24px 10px;background:#f8f1e7;font-size:10px;color:#74614b}.shift-meter progress{position:absolute;bottom:0;left:0;width:100%;height:4px;border:0;border-radius:0;accent-color:#668452;background:#e3d6c1}.shift-meter progress::-webkit-progress-bar{background:#e3d6c1}.shift-meter progress::-webkit-progress-value{background:#668452}.shift-meter b{color:#3a5340;font-size:12px;margin-left:3px}#arrival{margin-left:auto;font-variant-numeric:tabular-nums}.hud #sound{margin-left:auto;min-width:36px;padding:8px;font-size:19px;line-height:1}.hud #sound[aria-pressed=true]{background:#e0ecd4;color:#3e633e}.hud #pause{margin-left:0}.recipe em{display:block;font-style:normal;font-size:9px;font-weight:600;margin-top:5px;color:#827664}.recipe.needed{border:2px solid #68805b;background:#eaf0df}.recipe.needed em{color:#36552e}.tray .ready-item{display:inline-flex;gap:0;align-items:stretch;border:1px solid #b2c09e;border-radius:10px;overflow:hidden;background:#eaf0df}.tray .ready-item button{border:0;border-radius:0;min-height:42px;min-width:40px}.tray .ready-item .serve-ready{padding:5px 9px;font-size:16px;font-weight:750}.tray .ready-item .discard-ready{font-size:22px;background:#f7ebdc;border-left:1px solid #cbbb9f;color:#914d34;padding:3px 9px}.tray .ready-item .serve-ready:disabled{opacity:.65}.stop-button{background:transparent;color:#794d38;border:1px solid #bb9f82;border-radius:9px;padding:10px 15px;font-size:12px;margin-top:12px}.just-served{animation:thank-you .65s ease-out}.result h2:focus{outline:2px solid #82966e;outline-offset:6px}.result #result-combo{font-weight:750;color:#426047}@keyframes thank-you{0%,100%{transform:scale(1)}35%{transform:scale(1.04);background:#dbeac9}}@media(max-width:950px){.hud{gap:12px}.shift-meter{padding-left:15px;padding-right:15px;gap:10px}}@media(max-width:700px){.campaign{grid-column:1/-1;margin-top:10px;padding-top:12px}#shift-map{grid-template-columns:repeat(6,1fr);gap:5px}#shift-map button{padding:8px 2px}#shift-map span{font-size:9px;letter-spacing:0}.campaign small{display:block}.shift-meter{font-size:9px;gap:9px;padding:7px 12px 10px;min-height:34px}.shift-meter b{font-size:11px}.hud{gap:10px}.hud #sound{min-width:30px;padding:8px 5px}.hud #pause{padding:9px 7px}.recipe em{font-size:8px;line-height:1.1}.is-playing .kitchen-title{margin-bottom:8px}.room-sign{min-height:37px;font-size:10px;text-align:center}.cover h2{font-size:23px}.cover-icon{font-size:36px;margin-bottom:8px}.cover p{margin-bottom:10px}.is-playing .cover{padding:15px}.tray .ready-item button{min-height:40px;min-width:35px}.tray .ready-item .serve-ready{font-size:15px;padding:5px 7px}}
#lesson-dialog{width:min(520px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:2px solid #bca481;border-radius:22px;background:#fff9ec;color:#342d26;padding:24px;box-shadow:0 20px 90px #3a2c2844}#lesson-dialog::backdrop{background:#30261e66;backdrop-filter:blur(3px)}.lesson-heading{display:flex;align-items:center;gap:12px;font-size:13px;color:#476744}.lesson-heading>span:first-child{font-size:30px}.lesson-heading strong{margin-left:auto;font-size:11px;text-align:right}#lesson-grade{margin:16px 0 8px;color:#8c623e;font-size:12px;font-weight:750}#lesson-prompt{font-family:Georgia,serif;font-size:25px;line-height:1.4;overflow-wrap:anywhere}#lesson-help{font-size:12px;line-height:1.6;color:#76634d}#lesson-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}#lesson-options button{border:1px solid #c9b491;border-radius:12px;min-height:54px;padding:12px;background:#f2e8d4;color:#3b3025;font-weight:650;line-height:1.4;overflow-wrap:anywhere}#lesson-options button:hover{background:#e0eccf}#lesson-options button.wrong{border-color:#a34832;background:#f8ded4}#lesson-feedback{font-size:13px;min-height:22px;line-height:1.6;color:#72422f}.lesson-controls{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.lesson-controls button{padding:10px 12px;min-height:44px;border:1px solid #beab8d;border-radius:9px;background:#fff9ec;color:#6f4a2f;font-size:12px}.coin-bar{padding:0 24px 14px}.coin-bar p{font-size:12px;line-height:1.6;color:#49653a;margin:8px 0}.coin-bar button{font-size:12px}.waiter{font-size:38px}.waiter:before{content:'';position:absolute;left:9px;top:-9px;width:23px;height:15px;background:#fff;border:1px solid #e5d5ba;border-radius:10px 10px 3px 3px;box-shadow:-5px -4px 0 -1px #fff,5px -4px 0 -1px #fff}.table .guest{font-size:31px}#shift-map button[data-locked=true] b:after{content:' 🔒';font-size:9px}.shift-meter{gap:12px}.is-playing .coin-bar{padding-bottom:8px}@media(max-width:700px){#lesson-dialog{padding:20px 16px}#lesson-prompt{font-size:22px}.lesson-heading{gap:8px}.lesson-heading strong{font-size:10px}#shift-map{grid-template-columns:repeat(4,1fr)}.shift-meter{flex-wrap:wrap;gap:5px 13px}#arrival{font-size:8px}.table .guest{font-size:27px}.coin-bar{padding-left:14px;padding-right:14px}.waiter:before{left:6px;top:-10px;width:21px;height:14px}.is-playing .table{min-height:95px}}
/* The illustrated room shares its shapes and colours with preview.svg. */
.cafe-art{display:block;width:42px;height:42px;flex:none;overflow:visible}
.room{height:450px;min-height:450px;padding:0;background-color:#e9d5b4;background-image:linear-gradient(#d5c2a3 1px,transparent 1px),linear-gradient(90deg,#d5c2a3 1px,transparent 1px);background-size:70px 70px}
.awning{height:35px;margin:0;background:repeating-linear-gradient(90deg,var(--game-skin-main,#557960) 0 42px,#fff1d5 42px 84px);border-radius:0 0 15px 15px;box-shadow:0 7px 0 #92785322}
.cafe-wall-sign{position:absolute;top:11%;left:50%;transform:translateX(-50%);width:220px;padding:10px 8px;border:2px solid #bfa780;border-radius:12px;background:#fff6e5;color:#554432;text-align:center;font:20px Georgia,serif;box-shadow:0 4px 0 #92785316}
.cafe-wall-sign small{display:block;font:8px system-ui;letter-spacing:3px;margin-top:6px;color:#998263}
.room-sign{position:absolute;bottom:4px;left:0;right:0;padding:6px;min-height:27px;z-index:2;font-size:11px;background:#fff6e5a8}
.floor-note{display:none}.tables{display:block;position:absolute;inset:0;padding:0;pointer-events:none}
.table{position:absolute;top:29%;left:10%;width:29%;height:112px;min-height:0;padding:9px 12px;background:#fff3db;border:3px solid #b79972;border-radius:24px;box-shadow:-22px 5px 0 -11px #778e71,22px 5px 0 -11px #778e71,0 8px 0 #92785333;pointer-events:auto;transition:background .15s}
.table:nth-child(even){left:61%}.table:nth-child(n+3){top:60%}.table:hover:not(:disabled){transform:none}.table-top{display:block;text-align:center}.table-label{font-size:9px;letter-spacing:1px;color:#998263}.table .guest{position:absolute;left:-34px;top:-31px;width:60px;height:72px;pointer-events:none}.table:nth-child(even) .guest{left:auto;right:-34px}.guest .cafe-art{width:100%;height:100%}
.order{display:flex;align-items:center;justify-content:center;gap:5px;height:45px;margin:2px 0 3px;font-size:11px}.order .cafe-art{width:44px;height:44px}.table:not(.occupied) .order{color:#998263;font-weight:400}.table:not(.occupied) .order svg{display:none}.table .patience{height:4px}.table small{font-size:10px;margin-top:5px}.table.on-route{outline:3px dashed #b9553a;outline-offset:5px}.table.can-serve{box-shadow:-22px 5px 0 -11px #778e71,22px 5px 0 -11px #778e71,0 8px 0 #92785333}
.waiter{width:72px;height:86px;position:absolute;left:50%;top:89%;transform:translate(-50%,-90%);transition:none;pointer-events:none;z-index:2;font-size:0}.waiter:before{display:none}.waiter-person{width:100%;height:100%;overflow:visible}.waiter #carried-dish{position:absolute;right:-2px;top:20px;width:26px;height:26px;overflow:visible}.waiter.is-walking .waiter-person{animation:cafe-steps .32s ease-in-out infinite alternate}@keyframes cafe-steps{from{transform:rotate(-3deg) translateY(-1px)}to{transform:rotate(3deg) translateY(1px)}}
.cafe-plant{position:absolute;top:17%;left:9%;width:26px;height:26px;font-size:0;border-radius:2px 2px 9px 9px;background:#bf7952}.plant-right{left:auto;right:9%}.cafe-plant:before,.cafe-plant:after{content:'';position:absolute;width:15px;height:35px;bottom:19px;left:0;border-radius:50%;background:#638259;transform:rotate(-28deg)}.cafe-plant:after{left:13px;transform:rotate(28deg)}
.recipe b .cafe-art{width:42px;height:42px;margin:auto}.recipe b{margin-bottom:2px}.tray .serve-ready{display:flex;align-items:center;gap:4px}.tray .serve-ready .cafe-art{width:30px;height:30px}.cover{inset:35px 0 0}.cover-icon{color:#557960}.room .table:focus-visible{outline:3px solid #306baf;outline-offset:5px}
@media(max-width:950px){.table{left:9%;width:31%;padding:8px}.table:nth-child(even){left:60%}.table .guest{left:-25px;width:49px;height:59px}.table:nth-child(even) .guest{right:-25px}.order{gap:2px}.order .cafe-art{width:34px;height:34px}.waiter{width:58px;height:70px}.waiter #carried-dish{width:22px;height:22px;top:15px}}
@media(max-width:700px){.room,.is-playing .room{height:360px;min-height:360px;padding:0}.awning{height:28px;margin:0;background-size:62px 100%;background-image:repeating-linear-gradient(90deg,var(--game-skin-main,#557960) 0 31px,#fff1d5 31px 62px)}.cafe-wall-sign{top:11%;width:164px;padding:8px 5px;font-size:16px}.cafe-wall-sign small{font-size:6px;letter-spacing:2px;margin-top:4px}.table,.is-playing .table{height:94px;min-height:94px;border-radius:19px;padding:6px}.table .guest{left:-18px;top:-28px;width:43px;height:52px}.table:nth-child(even) .guest{right:-18px}.table-label{font-size:8px;letter-spacing:0}.order{flex-direction:column;gap:0;height:45px;margin:1px 0;font-size:9px;line-height:1.1}.order .cafe-art{width:31px;height:31px}.table small{font-size:8px}.waiter{width:48px;height:58px}.waiter #carried-dish{width:18px;height:18px;top:13px;right:-1px}.cafe-plant{width:19px;height:22px;top:17%;left:8%}.plant-right{left:auto;right:8%}.cafe-plant:before,.cafe-plant:after{width:12px;height:27px;bottom:17px}.cafe-plant:after{left:10px}.room-sign,.is-playing .room-sign{padding:5px;min-height:24px;font-size:9px}.cover{inset:28px 0 0}.recipe b .cafe-art{width:35px;height:35px}}
@media(prefers-reduced-motion:reduce){.waiter.is-walking .waiter-person{animation:none}}
/* Seated diners stay behind the tabletop; the player walks in the centre aisle. */
.room,.is-playing .room{height:500px;min-height:500px}
.table,.is-playing .table{top:32%;isolation:isolate;background:transparent;border:0;overflow:visible}
.table:nth-child(n+3){top:64%}
.table:before{content:'';position:absolute;inset:0;background:#fff3db;border:3px solid #b79972;border-radius:24px;z-index:1;pointer-events:none}
.table.can-serve{background:transparent}.table.can-serve:before{background:#e3f1d9;border-color:#436953}
.table.urgent:before{border-color:#be583e}.table .guest,.table:nth-child(even) .guest{left:50%;right:auto;top:-50px;transform:translateX(-50%);width:74px;height:89px;z-index:0}
.table .table-label,.table .order,.table .patience,.table small{position:relative;z-index:2}
.table .vip-badge{position:absolute;z-index:3;right:7px;top:-13px;padding:4px 8px;border-radius:12px;background:#f5d681;color:#5b4113;border:2px solid #b48c3e;font-size:11px;font-weight:800}
.table.vip:before{border-color:#b48c3e;background:#fff0bf}.table.vip .patience i{background:#b48c3e}
.manual-controls{display:flex;gap:18px;align-items:center;padding:12px 20px;background:#f5ead6;border-top:4px solid #c4a07b}
.dpad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,38px);gap:4px;flex:none}
.dpad button{border:1px solid #bca481;background:#fff9ec;color:#554432;border-radius:9px;font-size:23px;touch-action:none;user-select:none}
.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad button:nth-child(3){grid-column:2;grid-row:2}.dpad button:nth-child(4){grid-column:3;grid-row:2}
.dpad button:active{background:#d1dfc2}.manual-controls>div:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.manual-controls strong{font-size:12px;width:100%;color:#554432}.manual-controls small{font-size:10px;line-height:1.5;color:#746a5f}.manual-controls .primary{font-size:12px;padding:10px 14px}.kitchen{border-top:1px solid #d9cbb9}
@media(max-width:700px){.room,.is-playing .room{height:430px;min-height:430px}.table,.is-playing .table{top:32%}.table:nth-child(n+3){top:64%}.table:before{border-radius:19px}.table .guest,.table:nth-child(even) .guest{width:58px;height:70px;top:-39px;left:50%;right:auto}.table .vip-badge{font-size:9px;padding:3px 5px;right:0}.manual-controls{padding:10px;gap:12px}.dpad{grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,36px)}.manual-controls .primary{padding:9px;font-size:11px}.manual-controls small{font-size:9px}.manual-controls strong{font-size:11px}}
/* Eight compact tables: four rows beside a clear central aisle. */
.room,.is-playing .room{height:650px;min-height:650px}
.room .table,.is-playing .room .table{top:calc(25% + var(--table-row)*15%);left:12%;width:26%;height:66px;min-height:66px;padding:4px 8px;border-radius:17px}
.room .table:nth-child(even){left:62%}.table:before{border-radius:17px;border-width:2px}.table-label{font-size:8px}
.table .guest,.table:nth-child(even) .guest{top:-31px;width:48px;height:58px}
.table .order{height:26px;margin:0;gap:3px;font-size:10px;flex-direction:row}.table .order .cafe-art{width:25px;height:25px}
.table small{font-size:9px;margin-top:3px}.table .vip-badge{font-size:9px;padding:2px 5px;top:-12px}
.cafe-wall-sign{top:9%;padding:7px 12px;font-size:22px}.cafe-plant{top:13%}.waiter{width:58px;height:70px}
.hearts-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff2e8;border-bottom:1px solid #dec7b4;padding:12px 20px;color:#694b3a;font-size:12px}
#hearts{font-size:25px;letter-spacing:4px;color:#b8454d;white-space:nowrap}#hearts-note{flex:1;min-width:160px;line-height:1.5}.hearts-bar .primary{font-size:12px}
.guest.departing{animation:cafe-leave 2.5s ease-in forwards}.table[data-mood="2"]:before{border-color:#c3934d}.table[data-mood="3"]:before{border-color:#b64d44}
@keyframes cafe-leave{0%,35%{opacity:1;transform:translateX(-50%)}100%{opacity:0;transform:translate(-50%,45px) rotate(-8deg)}}
@media(max-width:700px){.room,.is-playing .room{height:650px;min-height:650px}.room .table,.is-playing .room .table{left:8%;width:31%;padding:4px;height:66px;min-height:66px}.room .table:nth-child(even){left:61%}.table .order{font-size:9px}.table small{font-size:8px}.table .guest,.table:nth-child(even) .guest{width:48px;height:58px;top:-31px}.waiter{width:44px;height:54px}.cafe-wall-sign{font-size:17px;top:10%}.hearts-bar{padding:10px 12px}.table .table-label{font-size:8px}}
@media(prefers-reduced-motion:reduce){.guest.departing{animation:none;opacity:.7}}

@media(max-width:700px){.room,.is-playing .room{height:550px;min-height:550px}.room .table,.is-playing .room .table{height:56px;min-height:56px;padding:3px}.table .guest,.table:nth-child(even) .guest{width:44px;height:53px;top:-26px}.table .order{height:21px;font-size:8px}.table .order .cafe-art{width:20px;height:20px}.table .table-label{font-size:7px;line-height:9px}.table small{font-size:7px;line-height:9px;margin-top:2px}.table .patience{height:3px}.table .vip-badge{font-size:8px}}
