:root{--diner-red: #e63946;--diner-red-dark: #b81d2a;--diner-cream: #fffdf7;--diner-warm: #fff5e4;--diner-teal: #2ec4b6;--diner-teal-dark: #1b998b;--diner-yellow: #ffb703;--diner-orange: #fb8500;--diner-brown: #3d1e05;--diner-green: #38b000;--diner-purple: #7209b7}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;background-color:#fff3dd;background-image:radial-gradient(#ffd8a8 1.5px,transparent 1.5px),radial-gradient(#ffd8a8 1.5px,#fff3dd 1.5px);background-size:40px 40px;background-position:0 0,20px 20px;color:var(--diner-brown);min-height:100vh}h1,h2,h3,h4,.cartoon-font{font-family:Fredoka,cursive,sans-serif;letter-spacing:.01em}.checker-strip{height:18px;background-color:#fff;background-image:linear-gradient(45deg,var(--diner-red) 25%,transparent 25%),linear-gradient(-45deg,var(--diner-red) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--diner-red) 75%),linear-gradient(-45deg,transparent 75%,var(--diner-red) 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;border-bottom:4px solid var(--diner-brown)}.diner-header{background:linear-gradient(180deg,#ff5964,#e63946);color:#fff;padding:14px 24px;border-bottom:5px solid var(--diner-brown);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;box-shadow:0 6px #3d1e0524}.brand-title{display:flex;align-items:center;gap:12px}.brand-logo{font-size:2.3rem;background:#fffdf7;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;border:4px solid var(--diner-brown);box-shadow:0 4px 0 var(--diner-brown)}.brand-text h1{font-size:1.75rem;text-shadow:2px 3px 0 var(--diner-brown);line-height:1.1}.brand-text p{font-size:.9rem;font-weight:800;color:#ffe5ec}.scoreboard-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.score-pill{background:var(--diner-cream);color:var(--diner-brown);border:4px solid var(--diner-brown);border-radius:18px;padding:6px 16px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 0 var(--diner-brown);position:relative}.score-pill.highlight{background:#fff3b0}.score-pill-label{font-size:.78rem;font-weight:800;text-transform:uppercase;color:#7f4f24;display:block}.score-pill-value{font-family:Fredoka,sans-serif;font-size:1.55rem;font-weight:700;line-height:1}.delta-float{position:absolute;top:-16px;right:-10px;font-family:Fredoka,sans-serif;font-size:1.15rem;font-weight:700;padding:2px 9px;border-radius:999px;border:3px solid var(--diner-brown);animation:popBounce .6s cubic-bezier(.22,1,.36,1)}.delta-plus{background:#70e000;color:#143601}.delta-zero{background:#ffd166;color:#3d1e05}.delta-minus{background:#ff4d6d;color:#fff}.icon-btn{background:var(--diner-cream);color:var(--diner-brown);border:3.5px solid var(--diner-brown);border-radius:14px;padding:8px 13px;font-family:Fredoka,sans-serif;font-size:.92rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 0 var(--diner-brown);transition:transform .1s ease,box-shadow .1s ease}.icon-btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--diner-brown)}.icon-btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--diner-brown)}.game-container{max-width:1280px;margin:0 auto;padding:22px 20px 48px;display:flex;flex-direction:column;gap:24px}.main-grid{display:grid;grid-template-columns:420px 1fr;gap:24px;align-items:start}@media(max-width:980px){.main-grid{grid-template-columns:1fr}}.cartoon-card{background:var(--diner-cream);border:4px solid var(--diner-brown);border-radius:26px;box-shadow:0 8px 0 var(--diner-brown);overflow:hidden}.customer-banner{padding:18px 20px;border-bottom:4px solid var(--diner-brown);display:flex;align-items:center;gap:16px}.customer-avatar-wrap{width:84px;height:84px;border-radius:24px;background:#fff;border:4px solid var(--diner-brown);box-shadow:0 5px 0 var(--diner-brown);display:grid;place-items:center;font-size:3.1rem;position:relative;flex-shrink:0;animation:gentleBob 2.8s ease-in-out infinite}.customer-mood-badge{position:absolute;bottom:-8px;right:-8px;width:34px;height:34px;border-radius:50%;background:#fffdf7;border:3px solid var(--diner-brown);display:grid;place-items:center;font-size:1.15rem}.customer-meta h2{font-size:1.5rem;color:var(--diner-brown)}.customer-title-pill{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--diner-brown);color:#fff;font-size:.78rem;font-weight:800;margin-top:2px}.customer-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:16px}.speech-bubble{background:#fff;border:3.5px solid var(--diner-brown);border-radius:20px;padding:15px 18px;position:relative;box-shadow:0 4px #3d1e051f}.speech-bubble p{font-size:1.08rem;font-weight:800;line-height:1.4;color:var(--diner-brown)}.craving-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.craving-tag{font-size:.78rem;font-weight:800;text-transform:uppercase;padding:3px 10px;border-radius:999px;background:#fff3b0;border:2.5px solid var(--diner-brown);color:var(--diner-brown)}.plate-stage-box{background:#fff5e4;border:3.5px solid var(--diner-brown);border-radius:22px;padding:14px;text-align:center;display:flex;flex-direction:column;gap:12px}.meal-picture-frame{width:100%;aspect-ratio:500 / 380;border-radius:16px;border:4px solid var(--diner-brown);overflow:hidden;background:#ffe8cc;position:relative;display:grid;place-items:center;box-shadow:inset 0 0 18px #00000014}.meal-picture-frame img{width:100%;height:100%;object-fit:cover;display:block}.engine-badge{position:absolute;top:10px;right:10px;background:#3d1e05d9;color:#fff;font-size:.73rem;font-weight:800;padding:4px 10px;border-radius:999px}.judgment-card{border:4px solid var(--diner-brown);border-radius:20px;padding:14px 16px;text-align:left;animation:popBounce .45s cubic-bezier(.22,1,.36,1)}.judgment-card.GREAT{background:#d8f3dc}.judgment-card.OK{background:#fff3b0}.judgment-card.NOT_SO_GREAT{background:#ffccd5}.judgment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.judgment-stamp{font-family:Fredoka,sans-serif;font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:7px}.points-pill{font-family:Fredoka,sans-serif;font-size:1.05rem;font-weight:700;padding:4px 12px;border-radius:999px;border:3px solid var(--diner-brown);background:#fff}.kitchen-header{background:var(--diner-teal);color:#fff;padding:16px 22px;border-bottom:4px solid var(--diner-brown);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.kitchen-header h2{font-size:1.45rem;text-shadow:1px 2px 0 var(--diner-brown)}.kitchen-body{padding:20px;display:flex;flex-direction:column;gap:18px}.category-tabs{display:flex;gap:10px;flex-wrap:wrap}.category-tab{border:3.5px solid var(--diner-brown);border-radius:16px;padding:9px 15px;font-family:Fredoka,sans-serif;font-size:.98rem;font-weight:600;background:#fff;color:var(--diner-brown);cursor:pointer;display:flex;align-items:center;gap:7px;box-shadow:0 4px 0 var(--diner-brown);transition:all .12s ease}.category-tab.active{background:var(--diner-yellow);transform:translateY(-2px);box-shadow:0 6px 0 var(--diner-brown)}.ingredients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}.ingredient-card{background:#fff;border:3.5px solid var(--diner-brown);border-radius:18px;padding:12px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:6px;position:relative;box-shadow:0 4px 0 var(--diner-brown);transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.ingredient-card:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 7px 0 var(--diner-brown)}.ingredient-card.selected{background:#fff3b0;border-color:var(--diner-brown);box-shadow:0 5px 0 var(--diner-orange)}.ingredient-card:disabled{opacity:.55;cursor:not-allowed}.ing-top{display:flex;align-items:center;justify-content:space-between}.ing-emoji{font-size:2.1rem;line-height:1}.ing-check{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--diner-brown);background:#fff;display:grid;place-items:center;font-size:.85rem;font-weight:900}.ingredient-card.selected .ing-check{background:var(--diner-green);color:#fff}.ing-name{font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600;color:var(--diner-brown)}.ing-desc{font-size:.78rem;color:#6c584c;line-height:1.25}.cutting-board{background:#ffe8cc;border:4px solid var(--diner-brown);border-radius:22px;padding:16px 18px;display:flex;flex-direction:column;gap:14px}.board-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.selected-chips{display:flex;flex-wrap:wrap;gap:8px;min-height:42px;align-items:center}.selected-chip{background:#fff;border:3px solid var(--diner-brown);border-radius:999px;padding:5px 12px;font-weight:800;font-size:.9rem;display:inline-flex;align-items:center;gap:6px;cursor:pointer;box-shadow:0 3px 0 var(--diner-brown)}.selected-chip:hover{background:#ffccd5}.action-buttons{display:flex;gap:12px;flex-wrap:wrap}.cook-btn{flex:1;min-width:220px;background:linear-gradient(180deg,#52b788,#2d6a4f);color:#fff;border:4px solid var(--diner-brown);border-radius:18px;padding:14px 24px;font-family:Fredoka,sans-serif;font-size:1.3rem;font-weight:700;cursor:pointer;box-shadow:0 6px 0 var(--diner-brown);display:flex;align-items:center;justify-content:center;gap:10px;transition:transform .12s ease,box-shadow .12s ease}.cook-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 0 var(--diner-brown)}.cook-btn:disabled{background:#b7b7a4;cursor:not-allowed}.next-customer-btn{width:100%;background:linear-gradient(180deg,#ffb703,#fb8500);color:var(--diner-brown);border:4px solid var(--diner-brown);border-radius:18px;padding:13px 20px;font-family:Fredoka,sans-serif;font-size:1.22rem;font-weight:700;cursor:pointer;box-shadow:0 6px 0 var(--diner-brown);display:flex;align-items:center;justify-content:center;gap:8px}.gallery-section{padding:20px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:14px}.gallery-item{background:#fff;border:3.5px solid var(--diner-brown);border-radius:18px;overflow:hidden;box-shadow:0 5px 0 var(--diner-brown);display:flex;flex-direction:column}.gallery-thumb{width:100%;aspect-ratio:500 / 380;border-bottom:3.5px solid var(--diner-brown);object-fit:cover;background:#ffe8cc}.gallery-info{padding:12px;display:flex;flex-direction:column;gap:6px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d1e0599;display:grid;place-items:center;padding:20px;z-index:100}.modal-card{max-width:480px;width:100%;background:var(--diner-cream);border:4px solid var(--diner-brown);border-radius:24px;padding:22px;box-shadow:0 10px 0 var(--diner-brown);display:flex;flex-direction:column;gap:14px}.api-input{width:100%;padding:11px 14px;border:3.5px solid var(--diner-brown);border-radius:12px;font-size:.95rem;font-family:inherit}@keyframes gentleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes popBounce{0%{transform:scale(.8);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}
