:root{font-family:Inter,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif;color:#f8efe3;background:#101820;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--gold: #f3c64b;--ember: #f36f21;--coal: #101820;--sea: #117f7a;--leaf: #5ba34d;--paper: #fff7e8}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{overflow-x:hidden;touch-action:manipulation;-webkit-user-select:none;user-select:none}button{font:inherit}.app-shell{min-height:100svh;padding:max(16px,env(safe-area-inset-top)) 16px calc(116px + env(safe-area-inset-bottom));background:linear-gradient(160deg,#117f7ae0,#101820f5 58%),radial-gradient(circle at 18% 12%,rgba(243,198,75,.36),transparent 30%),repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 18px)}.hero-band{width:min(980px,100%);margin:0 auto 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hero-copy{min-width:0}.eyebrow{display:inline-block;color:#ffe299;font-size:.78rem;font-weight:800;letter-spacing:0}h1{margin:6px 0 8px;max-width:720px;color:#fffaf0;font-size:clamp(1.8rem,7vw,4.1rem);line-height:1.02;letter-spacing:0}p{margin:0}.hero-copy p{max-width:38rem;color:#fffaf0d1;line-height:1.6;font-size:clamp(.94rem,2.6vw,1.08rem)}.score-pill{flex:0 0 auto;min-width:84px;min-height:44px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.24);border-radius:8px;color:#fff5d4;background:#1018208a;box-shadow:0 12px 30px #00000038;font-weight:900}.score-pill svg{width:18px;height:18px;color:var(--gold)}.game-stage{position:relative;width:min(980px,100%);min-height:min(630px,calc(100svh - 252px));margin:0 auto;padding:18px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:linear-gradient(180deg,#fff7e81f,#fff7e805),linear-gradient(135deg,#101820ad,#1458509e);box-shadow:0 24px 70px #00000047}.stage-backdrop{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 22% 20%,rgba(255,236,172,.28),transparent 28%),linear-gradient(180deg,transparent 0 56%,rgba(8,12,16,.32) 56% 100%)}.stage-backdrop:before,.stage-backdrop:after{position:absolute;content:"";pointer-events:none}.stage-backdrop:before{left:-5%;right:-5%;bottom:18%;height:70px;background:radial-gradient(40px 28px at 28px 35px,rgba(255,255,255,.9) 0 48%,transparent 50%) 0 0 / 96px 70px repeat-x;opacity:.16}.stage-backdrop:after{left:0;right:0;bottom:0;height:34%;background:repeating-linear-gradient(90deg,#5ba34d57 0 12px,#5ba34d14 12px 22px),linear-gradient(180deg,#261a122e,#261a1280)}.onikin{position:absolute;z-index:2;right:max(5px,3%);bottom:clamp(164px,27vw,220px);width:clamp(118px,27vw,245px);filter:drop-shadow(0 22px 28px rgba(0,0,0,.28))}.grill{position:absolute;z-index:3;left:50%;bottom:clamp(118px,19vw,158px);width:min(550px,94%);aspect-ratio:1.35;transform:translate(-50%);display:grid;place-items:center}.grill:before{position:absolute;content:"";width:78%;height:38%;bottom:2%;border-radius:50%;background:#00000061;filter:blur(12px)}.katsuo{position:relative;z-index:3;width:95%;max-height:100%;object-fit:contain;transform:translateY(4px);filter:drop-shadow(0 20px 18px rgba(0,0,0,.26));transition:filter .12s linear}.char-layer{position:absolute;z-index:4;width:52%;height:26%;top:24%;border-radius:48%;transform:rotate(-8deg);background:radial-gradient(circle at 22% 45%,rgba(7,5,4,.8) 0 6%,transparent 7%),radial-gradient(circle at 45% 37%,rgba(7,5,4,.68) 0 4%,transparent 5%),radial-gradient(circle at 68% 54%,rgba(7,5,4,.72) 0 5%,transparent 6%),linear-gradient(90deg,transparent,rgba(21,12,6,.55),transparent);mix-blend-mode:multiply;pointer-events:none}.flame-field{position:absolute;z-index:2;inset:12% 6% 4%;display:flex;align-items:flex-end;justify-content:space-around;opacity:.32;transition:opacity .16s ease}.grill.is-cooking .flame-field,.grill.is-perfect .flame-field{opacity:1}.flame-field span{width:clamp(42px,10vw,74px);height:clamp(78px,19vw,132px);border-radius:50% 50% 45% 45%;background:radial-gradient(circle at 50% 72%,#fff6a9 0 14%,transparent 15%),radial-gradient(circle at 50% 62%,#ffd147 0 35%,transparent 36%),radial-gradient(circle at 50% 62%,#f36f21 0 60%,transparent 61%);transform-origin:bottom center;animation:flame .52s ease-in-out infinite alternate;filter:blur(.1px) drop-shadow(0 0 16px rgba(243,111,33,.78))}.flame-field span:nth-child(2),.flame-field span:nth-child(4){height:clamp(96px,23vw,164px);animation-delay:-.18s}.flame-field span:nth-child(3){height:clamp(115px,26vw,184px);animation-delay:-90ms}@keyframes flame{0%{transform:translateY(10px) scaleX(.9) rotate(-4deg)}to{transform:translateY(-8px) scaleX(1.08) rotate(4deg)}}.gauge-panel{position:absolute;z-index:5;left:18px;right:18px;bottom:18px;padding:13px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#101820b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.gauge-top,.gauge-marks{display:flex;align-items:center;justify-content:space-between;gap:10px}.gauge-top span{color:#fff7e8d1;font-size:.9rem;font-weight:800}.gauge-top strong{color:#fff7e8;font-size:1.2rem}.gauge-track{position:relative;height:22px;margin:9px 0 8px;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,#b63350,#f3c64b 60%,#17110c);box-shadow:inset 0 2px 8px #00000059}.perfect-zone{position:absolute;top:0;bottom:0;z-index:2;border-left:2px solid #fff7e8;border-right:2px solid #fff7e8;background:#ffffff40}.gauge-fill{position:absolute;top:0;left:0;bottom:0;z-index:1;background:#ffffff57;transition:width 80ms linear}.gauge-marks{color:#fff7e8b3;font-size:.75rem;font-weight:800}.result-card{position:absolute;z-index:8;top:18px;left:18px;width:min(370px,calc(100% - 36px));padding:16px;border:1px solid rgba(255,255,255,.22);border-radius:8px;color:#fff7e8;background:#101820d1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 42px #00000052}.result-card.is-master{background:linear-gradient(135deg,#493009e6,#101820e0);border-color:#f3c64b85}.result-heading{display:flex;align-items:center;gap:12px}.result-heading svg{flex:0 0 auto;width:34px;height:34px;color:var(--gold)}.result-heading span{color:#ffe299;font-size:.78rem;font-weight:900}.result-heading h2{margin:2px 0 0;font-size:clamp(1.4rem,7vw,2rem);letter-spacing:0}.result-card p{margin-top:12px;color:#fff7e8d1;line-height:1.55}.result-score{margin-top:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.result-score span{color:#fff7e8b8;font-size:.84rem;font-weight:800}.result-score strong{color:#fff7e8;font-size:2rem;line-height:1}.coupon{margin-top:14px;padding:12px;border:1px dashed rgba(255,247,232,.72);border-radius:8px;background:#fff7e81f}.coupon span,.coupon small{display:block;color:#fff7e8bd;font-size:.72rem;font-weight:800}.coupon strong{display:block;margin:4px 0;color:#fff7e8;font-size:1rem;letter-spacing:0}.control-dock{position:fixed;z-index:20;left:0;right:0;bottom:0;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(16,24,32,.9) 34%)}.cook-button,.retry-button{width:min(620px,100%);min-height:70px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;color:#22160a;background:linear-gradient(180deg,#ffe299,#f36f21);box-shadow:0 15px 35px #00000057,inset 0 1px #ffffff73;font-weight:1000;font-size:clamp(1.05rem,4vw,1.25rem);letter-spacing:0;touch-action:none;cursor:pointer}.cook-button svg,.retry-button svg{width:28px;height:28px}.cook-button.is-pressed{transform:translateY(3px) scale(.99);background:linear-gradient(180deg,#fff1b8,#ff4c1d);box-shadow:0 8px 22px #0000006b,0 0 28px #f36f217a}.retry-button{color:#fff7e8;background:linear-gradient(180deg,#117f7a,#101820);border:1px solid rgba(255,255,255,.22)}@media(max-width:560px){.app-shell{padding-left:10px;padding-right:10px}.hero-band{align-items:stretch}.score-pill{min-width:70px;padding:8px;flex-direction:column;gap:2px;font-size:.92rem}.game-stage{min-height:calc(100svh - 244px);padding:12px}.onikin{top:14px;right:-6px;bottom:auto;z-index:6;width:clamp(112px,38vw,155px)}.grill{bottom:106px;width:108%}.result-card{top:12px;left:12px;width:calc(100% - 24px);padding:13px}.gauge-panel{left:12px;right:12px;bottom:12px}}@media(max-height:690px){h1{font-size:clamp(1.45rem,6vw,2.2rem)}.hero-copy p{display:none}.game-stage{min-height:calc(100svh - 188px)}}
