:root{--cream:#fff8eb;--paper:#fffdf8;--ink:#28333b;--muted:#68757b;--coral:#ef6b68;--coral-dark:#d84e51;--teal:#287c78;--teal-light:#dff4ef;--gold:#f5b942;--wood:#b97549;--shadow:0 18px 50px rgba(74,49,33,.14)}
*{box-sizing:border-box}html,body,form{margin:0;min-height:100%}body{color:var(--ink);background:radial-gradient(circle at 8% 12%,rgba(245,185,66,.18) 0 3px,transparent 4px),radial-gradient(circle at 92% 82%,rgba(239,107,104,.13) 0 4px,transparent 5px),var(--cream);background-size:44px 44px,64px 64px,auto;font-family:"Trebuchet MS","Segoe UI",sans-serif}button{font:inherit}button:focus-visible{outline:4px solid rgba(40,124,120,.35);outline-offset:3px}.hidden{display:none!important}.game-page{min-height:100vh;padding:24px;display:grid;place-items:center}.screen{width:100%}.eyebrow{margin:0 0 8px;color:var(--teal);font-size:.76rem;font-weight:900;letter-spacing:.16em}.card{width:min(1050px,100%);padding:clamp(32px,6vw,64px);text-align:center;background:rgba(255,253,248,.97);border:2px solid #efe2ce;border-radius:38px;box-shadow:var(--shadow)}
.logo{width:84px;height:84px;margin:-8px auto 12px;display:grid;place-items:center;background:var(--teal);color:#fff;border:8px solid var(--teal-light);border-radius:50%;font-size:2.4rem}.card h1{margin:0;font-size:clamp(2.6rem,7vw,5.2rem);line-height:.92;letter-spacing:-.04em}.welcome-card h1 span{color:var(--coral)}.intro{max-width:650px;margin:22px auto 32px;color:var(--muted);font-size:clamp(.95rem,2vw,1.16rem);font-weight:700;line-height:1.55}.difficulty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.difficulty-card{min-height:225px;padding:25px 20px 20px;display:flex;flex-direction:column;align-items:center;color:var(--ink);background:#fff;border:2px solid #eadfcd;border-radius:26px;box-shadow:0 8px 0 #eadfcd;cursor:pointer;transition:.18s}.difficulty-card:hover{transform:translateY(-5px);border-color:var(--coral);box-shadow:0 13px 0 #f3c6bd}.difficulty-icon{width:70px;height:70px;display:grid;place-items:center;background:var(--teal-light);border-radius:21px;font-size:2.2rem}.difficulty-card:nth-child(2) .difficulty-icon{background:#fff0c9}.difficulty-card:nth-child(3) .difficulty-icon{background:#f1e9ff}.difficulty-card strong{margin-top:14px;font-size:1.05rem}.difficulty-card small{margin:6px 0 14px;color:var(--muted);font-weight:700}.play-label{margin-top:auto;color:var(--coral-dark);font-size:.78rem;font-weight:900;letter-spacing:.1em}.how-to{max-width:720px;margin:34px auto 0;padding:14px 20px;display:flex;align-items:center;gap:12px;text-align:left;background:#fff5d9;border-radius:16px}.how-to>span{font-size:1.5rem}.how-to p{margin:0;font-size:.82rem;line-height:1.45}
.topbar{width:min(1500px,100%);margin:0 auto 18px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,248,.97);border:1px solid #eadfcd;border-radius:20px;box-shadow:0 7px 24px rgba(74,49,33,.09)}.brand-button{display:flex;align-items:center;gap:10px;text-align:left;color:var(--ink);background:none;border:0;cursor:pointer;font-weight:900;line-height:1}.brand-button>span:first-child{width:40px;height:40px;display:grid;place-items:center;background:var(--teal);border-radius:12px}.brand-button small{display:block;margin-top:3px;color:var(--coral);font-size:.68rem;letter-spacing:.12em}.round-progress{display:grid;justify-items:center;gap:5px;font-size:.72rem;letter-spacing:.09em}.progress-dots{display:flex;gap:5px}.progress-dots i{width:27px;height:6px;background:#e2ddd3;border-radius:99px}.progress-dots i.filled{background:var(--teal)}.score-pill{padding:10px 16px;background:#fff1c4;border-radius:999px;font-size:1.05rem;font-weight:900}
.game-board{width:min(1500px,100%);margin:auto;display:grid;grid-template-columns:minmax(430px,.92fr) minmax(560px,1.08fr);gap:22px;align-items:stretch}.dining-room{min-height:720px;padding:28px;display:flex;flex-direction:column;overflow:hidden;background:#f5ead6;border:2px solid #e5d4b8;border-radius:30px;box-shadow:var(--shadow)}.room-heading{display:flex;justify-content:space-between;align-items:start}.room-heading h2{margin:0;font-size:clamp(1.6rem,3vw,2.35rem);line-height:1}.table-badge{padding:8px 12px;color:#6f4b32;background:#fff;border-radius:999px;font-size:.72rem;font-weight:900}.customers{flex:1;display:grid;grid-template-columns:repeat(var(--customer-count),minmax(0,1fr));gap:12px;align-items:end;padding-top:24px}.customer-wrap{display:grid;align-content:end;justify-items:center;min-width:0}.speech-bubble{position:relative;width:100%;min-height:142px;padding:20px 17px 24px;display:grid;place-items:center;background:#fff;border:3px solid var(--ink);border-radius:25px;box-shadow:0 7px 0 rgba(40,51,59,.12)}.speech-bubble:after{content:"";position:absolute;left:50%;bottom:-15px;width:24px;height:24px;background:#fff;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:translateX(-50%) rotate(45deg)}.speech-bubble p{margin:0;padding-right:16px;text-align:center;font-size:clamp(.71rem,1.35vw,.94rem);font-weight:900;line-height:1.42;text-transform:uppercase}.speak-button{position:absolute;z-index:2;top:7px;right:7px;width:34px;height:34px;border:0;border-radius:50%;background:var(--teal-light);cursor:pointer}.customer{position:relative;margin-top:24px;padding:8px 10px;display:grid;justify-items:center;color:var(--ink);background:transparent;border:3px solid transparent;border-radius:22px;cursor:pointer}.customer.active{background:#fff;border-color:var(--customer-color);box-shadow:0 7px 0 rgba(40,51,59,.1)}.avatar{font-size:clamp(3rem,7vw,5.7rem);line-height:1}.customer strong{margin-top:4px;font-size:.76rem;letter-spacing:.06em}.customer-check{position:absolute;top:-10px;right:-8px;width:28px;height:28px;display:grid;place-items:center;color:#fff;background:#2f9b6f;border:3px solid #fff;border-radius:50%;font-weight:900}.restaurant-floor{margin:0 -28px;padding:4px 26px 15px;display:flex;justify-content:space-between;align-items:end;background:repeating-linear-gradient(90deg,#d79d6c 0 35px,#c98d5e 35px 38px);border-top:7px solid #fff9ea;font-size:2.6rem}.dining-table{width:44%;height:38px;display:grid;place-items:center;color:#fff;background:var(--wood);border:4px solid #8c5736;border-radius:50%;box-shadow:0 8px 0 #8c5736;font-size:.72rem;font-weight:900}.tip{margin-top:18px;padding:12px 16px;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.7);border-radius:15px}.tip p{margin:0;color:var(--muted);font-size:.72rem;font-weight:800;line-height:1.35}
.tablet{position:relative;min-height:720px;padding:16px;color:#fff;background:#25313a;border:4px solid #172127;border-radius:34px;box-shadow:0 24px 50px rgba(31,40,47,.27),inset 0 0 0 2px #53616a}.camera{width:8px;height:8px;margin:-6px auto 7px;background:#071013;border:2px solid #48555c;border-radius:50%}.tablet-screen{height:calc(100% - 9px);padding:20px;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);border-radius:20px;overflow:hidden}.tablet-header{display:flex;align-items:center;justify-content:space-between}.tablet-header small,.order-summary small{display:block;color:var(--muted);font-size:.64rem;font-weight:900;letter-spacing:.12em}.tablet-header strong{display:block;margin-top:3px;font-size:1.25rem}.clear-button{padding:8px 10px;color:var(--coral-dark);background:#fff0ec;border:0;border-radius:9px;cursor:pointer;font-size:.68rem;font-weight:900}.customer-tabs{display:flex;gap:8px;margin:16px 0 12px}.customer-tabs button{flex:1;padding:8px;color:var(--muted);background:#f1eee7;border:2px solid transparent;border-radius:12px;cursor:pointer;font-size:.7rem;font-weight:900}.customer-tabs button span{margin-right:4px;font-size:1.1rem}.customer-tabs button.selected{color:var(--teal);background:var(--teal-light);border-color:var(--teal)}.category-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.category-tabs button{flex:1;min-width:max-content;padding:9px 10px;color:var(--muted);background:transparent;border:0;border-bottom:3px solid #dedbd4;cursor:pointer;font-size:.72rem;font-weight:900}.category-tabs button.selected{color:var(--coral-dark);border-color:var(--coral)}.menu-grid{margin:14px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.dish-card{min-width:0;background:#fff;border:2px solid #e9e5dc;border-radius:15px;overflow:hidden;transition:.15s}.dish-card:hover{transform:translateY(-2px)}.dish-card.chosen{border-color:var(--teal);background:#f6fffc}.dish-main{width:100%;min-height:88px;padding:10px;display:flex;gap:8px;align-items:center;text-align:left;color:var(--ink);background:transparent;border:0;cursor:pointer}.dish-emoji{font-size:2rem}.dish-main strong{display:block;font-size:.69rem;line-height:1.2}.dish-main small{display:block;margin-top:5px;color:var(--muted);font-size:.68rem}.quantity{height:34px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;text-align:center;color:#fff;background:var(--teal)}.quantity button{height:100%;color:#fff;background:transparent;border:0;cursor:pointer;font-size:1.25rem;font-weight:900}.special-requests{padding-top:12px;border-top:1px dashed #d6d0c6}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title h3{margin:0;font-size:.82rem}.section-title small{color:var(--muted);font-size:.55rem;font-weight:900}.request-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.request-chips button{padding:7px 9px;color:var(--muted);background:#fff;border:1px solid #d9d5cc;border-radius:999px;cursor:pointer;font-size:.63rem;font-weight:900}.request-chips button.selected{color:#176448;background:#dff6e9;border-color:#45a87f}.order-summary{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:2px solid #ece7de}.order-summary strong{display:block;margin-top:3px;font-size:.8rem}.send-order,.primary-button{padding:14px 18px;color:#fff;background:var(--coral);border:0;border-radius:14px;box-shadow:0 6px 0 var(--coral-dark);cursor:pointer;font-size:.77rem;font-weight:900;letter-spacing:.04em;transition:.13s}.send-order:hover,.primary-button:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--coral-dark)}.send-order:active,.primary-button:active{transform:translateY(4px);box-shadow:0 2px 0 var(--coral-dark)}.feedback{margin-top:10px;padding:9px 12px;color:#6d4812;background:#fff0bf;border-radius:10px;font-size:.7rem;font-weight:900;text-align:center;animation:nudge .28s ease-in-out 2}
.result-card{max-width:780px}.result-card h1{font-size:clamp(2.5rem,7vw,4.8rem)}.confetti{margin-bottom:14px;font-size:2rem;letter-spacing:.45em;animation:float 2s ease-in-out infinite}.chef{width:120px;height:120px;margin:24px auto 10px;display:grid;place-items:center;background:var(--teal-light);border:8px solid #fff;outline:4px solid var(--teal);border-radius:50%;font-size:4rem}.chef.trophy{background:#fff1c4;outline-color:var(--gold)}.earned-stars{display:flex;justify-content:center;gap:10px;margin:22px 0 7px}.earned-stars span{filter:grayscale(1);opacity:.18;font-size:clamp(2.4rem,7vw,4.5rem)}.earned-stars span.earned{filter:none;opacity:1;animation:pop .5s cubic-bezier(.2,1.7,.5,1) both}.star-message{margin:0 0 24px;color:var(--teal);font-weight:900;letter-spacing:.08em}.primary-button{min-width:280px;padding:16px 24px;font-size:.88rem}.secondary-button{display:block;margin:20px auto 0;color:var(--teal);background:none;border:0;cursor:pointer;font-size:.75rem;font-weight:900;text-decoration:underline}.final-score{width:165px;margin:15px auto 26px;padding:15px;display:grid;justify-items:center;background:#fff4d2;border-radius:24px}.final-score span{font-size:1.6rem}.final-score strong{font-size:3.2rem;line-height:1}.final-score small{color:#866b30;font-size:.65rem;font-weight:900}
@keyframes nudge{50%{transform:translateX(5px)}}@keyframes float{50%{transform:translateY(-8px)}}@keyframes pop{from{transform:scale(0) rotate(-20deg)}to{transform:scale(1) rotate(0)}}
@media(max-width:1040px){.game-board{grid-template-columns:1fr}.dining-room,.tablet{min-height:auto}.customers{min-height:360px}}
@media(max-width:700px){.game-page{padding:10px;display:block}.card{padding:30px 18px;border-radius:25px}.difficulty-grid{grid-template-columns:1fr}.difficulty-card{min-height:155px}.topbar{position:sticky;top:6px;z-index:10;padding:9px 10px}.brand-button>span:last-child{display:none}.game-board{gap:12px}.dining-room{padding:19px 13px;border-radius:23px}.customers{min-height:380px;gap:7px}.speech-bubble{min-height:155px;padding:18px 8px}.speech-bubble p{font-size:.67rem}.restaurant-floor{margin:0 -13px}.tablet{padding:10px;border-radius:24px}.tablet-screen{padding:13px}.menu-grid{grid-template-columns:repeat(2,1fr)}.dish-main{min-height:82px}.order-summary{align-items:stretch;flex-direction:column}.send-order{width:100%}.section-title small{display:none}}
