:root{--ink:#49372f;--coral:#e85e5c;--teal:#226b68;--cream:#fff8e9;--line:#cda980;--gold:#e6ab43}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:"Hiragino Maru Gothic ProN","Yu Gothic",system-ui,sans-serif;background:#e9c99d}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;font-weight:800;border:2px solid var(--line);border-radius:14px;background:var(--cream);padding:10px 15px;cursor:pointer;box-shadow:0 3px 0 #7e493426;transition:transform .12s,background .12s}button:active{transform:translateY(2px);box-shadow:none}button:focus-visible,a:focus-visible{outline:3px solid #1a8781;outline-offset:3px}button:disabled{opacity:.45;cursor:default}button small{display:block;font-size:11px;font-weight:500;line-height:1.5;margin-top:3px}a{color:var(--teal)}[hidden]{display:none!important}.restaurant{position:relative;min-height:100dvh;isolation:isolate}.backdrop{position:absolute;inset:0;z-index:-2;background:linear-gradient(#542c2022,#b46b3433),url('assets/restaurant.webp') center/cover}.restaurant:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#fff7dd33,transparent 45%,#713c2322)}header{height:76px;background:#fff8ebf2;border-bottom:3px solid #b96e4a;display:flex;justify-content:space-between;align-items:center;padding:8px max(20px,env(safe-area-inset-left));gap:15px}.brand{font-size:29px;font-weight:1000;text-decoration:none;letter-spacing:.08em;color:var(--ink);white-space:nowrap}.brand>span{color:var(--coral)}.brand small{display:block;font-size:10px;letter-spacing:.12em}.session-stats{display:flex;gap:20px;font-size:12px;align-items:center}.session-stats b{font-size:22px}.session-stats #hearts{color:var(--coral);font-size:19px;letter-spacing:3px}.header-actions{display:flex;gap:7px}.header-actions button{padding:8px 13px;font-size:13px}.day-banner{display:flex;justify-content:space-between;align-items:center;margin:12px 24px 0;font-size:12px;font-weight:800;gap:8px}.day-banner span{padding:6px 13px;background:var(--cream);border:2px solid var(--line);border-radius:30px}.day-banner #combo{background:var(--teal);border-color:#124e4b;color:white}.customers{height:calc(39dvh - 45px);min-height:165px;max-height:285px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1050px;margin:0 auto;align-items:end;padding:5px 18px 0}.customer{position:relative;background:transparent;border:0;box-shadow:none;border-radius:14px 14px 0 0;padding:0 8px;display:flex;flex-direction:column;align-items:center;animation:arrive .3s ease-out}.customer svg.portrait{width:95px;height:95px;filter:drop-shadow(0 4px 0 #75412b33)}.customer.selected{background:#fff9e999;outline:3px solid #e95e5c;outline-offset:-3px}.customer .order{position:relative;border:2px solid #b88c72;background:#fff9eefa;border-radius:15px;padding:6px 10px;min-height:58px;min-width:130px;box-shadow:0 4px 0 #61332118}.customer .order:after{content:'';position:absolute;bottom:-8px;left:45%;width:12px;height:12px;transform:rotate(45deg);background:#fff9ee;border-right:2px solid #b88c72;border-bottom:2px solid #b88c72}.order-items{display:flex;gap:3px;justify-content:center}.order-items svg{width:46px;height:30px}.order strong{display:block;font-size:10px;line-height:1.6}.customer-name{background:var(--cream);border-radius:9px;padding:2px 8px;font-size:10px;transform:translateY(-6px)}.patience{height:5px;background:#eadbc5;border-radius:8px;overflow:hidden;width:100%;margin-top:3px}.patience i{display:block;height:100%;width:100%;background:#7db6a2}.counter-edge{height:39px;background:linear-gradient(#eebc78,#ce8649);border-top:3px solid #fff0c0;border-bottom:3px solid #a86b3e;text-align:center;display:grid;place-items:center;font-size:13px;font-weight:800;box-shadow:0 6px 10px #4f2d2422}.counter-edge span{padding:3px 14px;color:#543626}.kitchen{display:grid;grid-template-columns:1fr 1.15fr .7fr;gap:20px;max-width:1200px;margin:0 auto;padding:15px 24px 20px;background:repeating-linear-gradient(90deg,#eed2a5 0,#eed2a5 100px,#e8c698 101px,#e8c698 103px);border-radius:0 0 20px 20px;min-height:265px;box-shadow:0 10px 30px #5d371933}h2{margin:0 0 10px;font-size:15px}h2>span{color:#aa6b50;margin-right:5px;font-size:12px}.ingredient-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.ingredient{padding:3px 4px 6px;border-radius:12px;font-size:11px;border-color:#c59b70;background:#fff4df}.ingredient svg{width:100%;max-width:65px;height:37px;display:block;margin:auto}.ingredient.selected{background:#fff;outline:3px solid var(--coral);outline-offset:-3px}.rice{width:100%;padding:7px;margin-top:9px;background:#fffaf0}.dish{position:relative;height:95px;background:radial-gradient(ellipse,#ffffed 45%,#ead2b3 46%,#6e8582 48%,#afcbc0 58%,transparent 60%);display:grid;place-items:center}.dish svg{width:160px;height:90px;transition:transform .1s}.dish.gripping svg{animation:knead .28s infinite alternate}.dish .empty{font-size:12px;color:#758179}.meter-label{display:flex;justify-content:space-between;margin:4px 0 8px;font-size:11px;min-height:17px}.meter{height:15px;position:relative;background:#f8eee0;border:2px solid #bd946b;border-radius:20px;overflow:hidden}.sweet-spot{position:absolute;left:52%;width:24%;height:100%;background:#9acb97}.meter i{position:absolute;left:0%;height:100%;width:5px;background:var(--coral);border-radius:5px}.craft-buttons{display:flex;gap:7px;margin-top:9px}.craft-buttons button{flex:1;min-height:55px;background:var(--teal);color:#fff;border-color:#18514e;touch-action:none;user-select:none}.craft-buttons #extra{background:#e18544;border-color:#a65a30}.serve-panel{text-align:center;display:flex;flex-direction:column}.chef-badge{position:relative;background:#fff5df;width:115px;height:85px;border:2px solid #d8b583;border-radius:50%;align-self:center;display:grid;place-content:center;font-size:11px;color:#875431;box-shadow:0 5px 0 #d0a27433}.chef-badge b{font-size:20px;line-height:1.3}.chef-badge span{position:absolute;right:0;top:-8px;font-size:30px;color:var(--coral)}#serve{background:var(--coral);border-color:#b54241;color:white;margin-top:13px}#discard{font-size:11px;border:0;background:none;box-shadow:none;padding:7px;color:#936f57}#quality-result{font-size:11px;font-weight:900;min-height:18px;color:var(--teal)}.overlay{position:absolute;inset:76px 0 0;min-height:calc(100dvh - 76px);padding:25px;display:flex;align-items:center;justify-content:center;background:#4b292743;backdrop-filter:blur(3px);z-index:5}.menu-card{width:min(1020px,100%);display:grid;grid-template-columns:.9fr 1.2fr;background:#fff8eaf5;border:3px solid #fff4dc;border-radius:25px;box-shadow:0 20px 60px #45231955;overflow:hidden}.menu-art{background:repeating-linear-gradient(90deg,#f4e8c9 0,#f4e8c9 2px,#fff1d5 2px,#fff1d5 18px);text-align:center;position:relative;padding:32px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:2px solid #e4ccb0}.seal{background:var(--coral);color:white;font-size:11px;border-radius:4px;padding:6px 11px;letter-spacing:.2em;transform:rotate(-5deg)}h1{font-size:clamp(48px,6vw,78px);letter-spacing:.05em;line-height:1.2;margin:16px 0 5px;font-weight:1000;text-shadow:3px 4px 0 white}h1 span{color:var(--coral)}.menu-art p{font-size:13px;letter-spacing:.2em}.menu-art #hero-sushi svg{width:230px;height:115px;filter:drop-shadow(0 9px 0 #ac775526);transform:rotate(-9deg)}.lesson{display:grid;text-align:left;gap:9px;font-size:12px;margin:16px 0}.lesson b{color:white;border-radius:50%;background:var(--teal);width:22px;height:22px;display:inline-grid;place-items:center;margin-right:10px}.menu-art a{font-size:12px;margin-top:12px}.menu-options{padding:28px}.eyebrow{font-size:10px;letter-spacing:.2em;color:#b05d45;font-weight:900}.menu-options h2{font-size:23px;margin-top:8px}.menu-options p{font-size:12px;line-height:1.8;color:#8f7665}.day-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:15px 0}.day-options button{padding:9px 5px;font-size:12px}.day-options button small{font-size:10px}.day-options button.selected{background:var(--teal);border-color:#15524f;color:#fff}.day-options button.locked{background:#ede5d7}.primary{background:var(--coral);color:#fff;border-color:#ae4140;min-height:50px;width:100%;box-shadow:0 4px 0 #a94643}.shop-heading{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:12px}.shop-heading h3{margin:0;font-size:14px}.upgrades{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.upgrades button{font-size:12px;padding:9px}.result-card{width:min(500px,100%);text-align:center;background:#fff8eafa;border:3px solid #fff;border-radius:25px;padding:30px;box-shadow:0 20px 60px #41252666;display:grid;gap:12px}.result-card h2{font-size:27px;margin:0}.result-card p{font-size:12px;line-height:1.6;margin:0}.result-stars{font-size:38px;letter-spacing:8px;color:#e6a63b;text-shadow:0 3px 0 #b87136}.result-card strong{font-size:42px;color:var(--coral)}.result-stats{display:flex;justify-content:space-around;font-size:11px;margin:8px 0}.result-stats b{display:block;font-size:20px}.result-card a{font-size:12px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#226b68;color:#fff;padding:10px 22px;border-radius:25px;font-size:13px;opacity:0;pointer-events:none;z-index:10}#toast.show{opacity:1}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes knead{to{transform:scale(.94,1.03)}}@media(max-height:600px) and (min-width:650px){header{height:55px}.brand{font-size:22px}.session-stats b{font-size:18px}.day-banner{margin-top:6px}.customers{height:calc(39dvh - 42px);min-height:115px}.customer svg.portrait{width:62px;height:62px}.customer .order{min-height:43px;padding:3px 8px}.order-items svg{width:36px;height:22px}.order strong{font-size:9px}.kitchen{padding:8px 20px;gap:16px;min-height:200px}.dish{height:68px}.dish svg{height:65px}.chef-badge{height:60px;width:92px}.chef-badge b{font-size:16px}.ingredient svg{height:25px}.ingredient{font-size:10px}.craft-buttons button{min-height:42px;padding:5px}.counter-edge{height:29px;font-size:11px}.overlay{inset:55px 0 0;min-height:calc(100dvh - 55px);padding:12px;align-items:flex-start}.menu-card{max-height:calc(100dvh - 79px);overflow:auto}.menu-art{padding:18px}.menu-options{padding:16px}.menu-options h2{font-size:19px}.menu-options p{margin:6px 0}.day-options{margin:8px 0}.shop-heading{margin-top:13px}.primary{min-height:40px}h1{font-size:50px}.menu-art #hero-sushi svg{height:75px}.result-card{padding:15px;gap:7px;max-height:calc(100dvh - 79px);overflow:auto}.result-card strong{font-size:30px}.result-stars{font-size:26px}}@media(max-width:649px){header{height:66px;padding:8px 10px;gap:5px}.brand{font-size:21px}.brand small{display:none}.session-stats{gap:8px;font-size:9px;flex-wrap:wrap;max-width:190px}.session-stats b{font-size:15px}.session-stats #hearts{font-size:12px}.header-actions button{padding:7px;font-size:11px}.overlay{inset:66px 0 0;padding:12px;align-items:flex-start;min-height:calc(100dvh - 66px)}.menu-card{display:block}.menu-art{padding:18px;border-right:0;border-bottom:2px solid #e4ccb0}.menu-art h1{font-size:47px}.menu-art #hero-sushi svg{width:150px;height:60px}.lesson{display:flex;gap:7px;font-size:9px;margin:8px 0}.lesson b{display:none}.menu-options{padding:20px}.menu-options h2{font-size:20px}.customers{height:205px;min-height:0;padding:8px;gap:4px}.customer{padding:0 3px}.customer .order{min-width:0;width:100%;padding:4px}.customer svg.portrait{width:62px;height:75px}.order-items{flex-wrap:wrap}.order-items svg{width:32px;height:23px}.order strong{font-size:8px}.customer-name{font-size:8px}.day-banner{margin:8px 8px 0;font-size:9px}.kitchen{grid-template-columns:1fr 1.1fr;gap:12px;padding:14px 10px}.serve-panel{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px}.serve-panel h2,.chef-badge{display:none}#serve{margin-top:0}#discard{background:#fff4df;border:1px solid #cda980;border-radius:14px}#quality-result{grid-column:span 2}.ingredient{font-size:9px}.ingredient svg{height:28px}.dish{height:100px}.counter-edge{font-size:10px}.craft-buttons button{font-size:11px;padding:8px}.result-card{padding:22px}.session-stats span:first-child{display:none}}

.rice{display:none}.kitchen{grid-template-columns:170px minmax(0,1fr);min-height:280px;gap:15px}.ingredient-grid{grid-template-columns:repeat(2,1fr)}#gesture-kitchen{width:100%;height:280px;touch-action:none;user-select:none;-webkit-user-select:none;display:block}#flying-sushi{position:fixed;z-index:20;pointer-events:none;width:95px;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 4px #45312144)}#flying-sushi svg{width:100%;height:auto}@media(max-height:600px) and (min-width:650px){.kitchen{grid-template-columns:140px minmax(0,1fr);min-height:195px;padding:8px 16px}#gesture-kitchen{height:195px}.ingredients h2{font-size:11px;margin-bottom:4px}.ingredient-grid{gap:5px}.ingredient{padding:2px;font-size:9px}.ingredient svg{height:22px}}@media(max-width:649px){.kitchen{grid-template-columns:1fr;padding:10px;gap:8px}.ingredient-grid{grid-template-columns:repeat(6,1fr);gap:4px}.ingredients h2{font-size:12px;margin-bottom:5px}#gesture-kitchen{height:250px}.customers{height:180px}.ingredient{font-size:8px;padding:2px}.ingredient svg{height:23px}}

.customer.aim-target{background:#c6e7b8c9;outline:4px solid #5fa773;outline-offset:-4px}.customer.aim-target .order{border-color:#367d50;background:#f2ffea}

.fever .counter-edge{background:linear-gradient(110deg,#ffdd77,#ffa657,#ffdd77);box-shadow:0 0 22px #ffd75b}.fever .day-banner #combo{background:#d47129;border-color:#ffc868;animation:fever-glow 1s ease-in-out infinite alternate}.fever #gesture-kitchen{outline:3px solid #ffc965;box-shadow:0 0 20px #ffe695}@keyframes fever-glow{to{box-shadow:0 0 15px #ffe185;transform:scale(1.02)}}@media(prefers-reduced-motion:reduce){.fever .day-banner #combo{animation:none}}

.how-button{width:100%;margin-bottom:12px;background:#fff1cc;color:#61482e}#how-dialog{width:min(540px,92vw);max-height:85dvh;overflow:auto;border:3px solid #d2aa77;border-radius:20px;background:#fff9ed;color:#49372f;padding:24px;font:inherit;font-size:14px;line-height:1.9}#how-dialog::backdrop{background:#321a1766}#how-dialog h2{font-size:23px;margin-top:15px}#how-dialog li{margin-bottom:12px}#how-close{float:right}
