*{box-sizing:border-box}:root{--ink: #3a2b1f;--ink-soft: #7a6553;--orange: #f07a1a;--orange-d: #b9530a;--cream: #fffaf2;--line: #ead9c2;--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px)}html,body{margin:0;height:100%;overflow:hidden;background:#d8d2c6;color:var(--ink);font-family:Zen Maru Gothic,system-ui,-apple-system,Hiragino Maru Gothic ProN,sans-serif;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;touch-action:manipulation}button{font:inherit;color:inherit;border:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}[hidden]{display:none!important}.app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.app.is-shake{animation:shake .6s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{0%{transform:translate(0)}10%{transform:translate(-14px,8px) rotate(-1deg)}20%{transform:translate(12px,-10px) rotate(1deg)}30%{transform:translate(-10px,6px)}45%{transform:translate(8px,-4px)}60%{transform:translate(-5px,3px)}80%{transform:translate(2px,-1px)}to{transform:translate(0)}}.gl{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}.gl.is-hover{cursor:pointer}.flash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 50%,rgba(255,246,210,.95),rgba(255,210,120,.4))}.flash[data-kind=boom]{background:radial-gradient(circle at 50% 55%,#fff6d0 0%,#ffb240 30%,#e2420c 70%,#3a0d02 100%)}.top{position:absolute;left:0;right:0;top:0;padding:calc(var(--sat) + 10px) calc(var(--sar) + 14px) 18px calc(var(--sal) + 14px);text-align:center;pointer-events:none;background:linear-gradient(to bottom,rgba(255,250,242,.92),rgba(255,250,242,.6) 65%,rgba(255,250,242,0))}.top>*{pointer-events:auto}.site-top{position:absolute;left:calc(var(--sal) + 12px);top:calc(var(--sat) + 12px);font-size:13px;font-weight:700;color:var(--ink-soft);text-decoration:none;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.7)}.logo{margin:2px 0 0;font-weight:900;line-height:1;font-size:clamp(30px,8.5vw,46px);letter-spacing:.02em;display:inline-flex;align-items:baseline;gap:2px}.logo-num{font-size:1.3em;color:var(--orange);-webkit-text-stroke:2px #fff;paint-order:stroke fill;text-shadow:0 3px 0 var(--orange-d);font-style:italic;margin-right:2px}.logo-txt{color:var(--ink);text-shadow:0 2px 0 #fff}.lead{display:inline-block;margin:6px 0 0;padding:5px 14px;border-radius:999px;background:var(--ink);color:#fff;font-weight:900;font-size:clamp(13px,3.6vw,16px);letter-spacing:.04em}.app[data-phase=cooking] .lead{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{background:#5a3d26}}.sound{position:absolute;right:calc(var(--sar) + 12px);top:calc(var(--sat) + 10px)}.sound-btn{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.8);color:var(--ink);display:grid;place-items:center;box-shadow:0 2px 6px #3c281426}.sound-btn svg{width:22px;height:22px}.sound-btn .mute,.sound-btn.is-muted .wave{display:none}.sound-btn.is-muted .mute{display:inline}.sound-panel{position:absolute;right:0;top:48px;width:210px;padding:12px 14px;border-radius:16px;background:#fff;box-shadow:0 8px 24px #3c281438;text-align:left;z-index:5}.vol{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}.vol input{flex:1;accent-color:var(--orange)}.mute-btn{margin-top:10px;width:100%;padding:8px;border-radius:10px;background:#f3ece2;font-size:13px;font-weight:700}.toast{position:absolute;left:50%;top:24%;margin:0;padding:10px 20px;border-radius:14px;background:rgba(30,22,16,.82);color:#fff;font-weight:900;font-size:clamp(18px,5vw,24px);white-space:nowrap;pointer-events:none;opacity:0;translate:-50% 0}.controls{position:absolute;left:0;right:0;bottom:0;padding:26px calc(var(--sar) + 16px) calc(var(--sab) + 14px) calc(var(--sal) + 16px);display:flex;flex-direction:column;align-items:center;gap:8px;background:linear-gradient(to top,rgba(255,250,242,.95),rgba(255,250,242,.75) 70%,rgba(255,250,242,0))}.app[data-phase=result] .controls{visibility:hidden}.cook-btn{position:relative;width:min(86vw,360px);min-height:76px;border-radius:999px;font-size:clamp(24px,7vw,30px);font-weight:900;letter-spacing:.08em;color:#fff;background:linear-gradient(to bottom,#ff9a3c,var(--orange));box-shadow:0 6px 0 var(--orange-d),0 12px 22px #a0460a4d;display:flex;align-items:center;justify-content:center;gap:12px;transition:transform .06s,box-shadow .06s,background .2s;touch-action:none}.cook-btn:active:not(:disabled){transform:translateY(5px);box-shadow:0 1px 0 var(--orange-d),0 4px 10px #a0460a4d}.cook-lamp{width:14px;height:14px;border-radius:50%;background:#8a4a1a;box-shadow:inset 0 1px 2px #0006}.cook-btn[data-mode=stop]{background:linear-gradient(to bottom,#4a3a2e,#2c211a);box-shadow:0 6px #140e0a,0 12px 22px #1e140a59}.cook-btn[data-mode=stop]:active{box-shadow:0 1px #140e0a}.cook-btn[data-mode=stop] .cook-lamp{background:#ff7a1a;box-shadow:0 0 10px 3px #ff781ecc}.cook-btn:disabled{background:#bfb3a5;box-shadow:0 6px #8f8376;cursor:default}.howto{margin:4px 0 0;font-size:clamp(12px,3.4vw,14px);line-height:1.55;text-align:center;color:var(--ink-soft);font-weight:700}.howto b{color:var(--orange-d)}.key-hint{margin:0;font-size:11px;color:#a08c78;font-weight:700}@media (pointer: coarse){.key-hint{display:none}}.result{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.card{pointer-events:auto;position:absolute;left:50%;bottom:calc(var(--sab) + 12px);width:min(94vw,420px);margin-left:calc(min(94vw,420px)/-2);padding:16px 18px 14px;border-radius:24px;background:var(--cream);box-shadow:0 14px 40px #3c28144d;border:3px solid #fff;text-align:center;max-height:min(50vh,440px);overflow-y:auto;overscroll-behavior:contain}.result-ad:empty{display:none}@media (min-aspect-ratio: 5/4) and (min-width: 760px){.result{display:flex;align-items:center;justify-content:flex-end;padding:calc(var(--sat) + 96px) calc(var(--sar) + 4vw) calc(var(--sab) + 16px) 0}.card{position:relative;left:auto;bottom:auto;margin-left:0;width:380px;max-height:100%;padding:22px 22px 18px}}.r-kicker{margin:0;font-size:13px;font-weight:900;letter-spacing:.2em;color:var(--ink-soft)}.r-state{margin:4px 0 6px;font-size:clamp(32px,9.5vw,46px);font-weight:900;line-height:1.15;color:var(--tone, var(--ink))}.card[data-tone=raw]{--tone: #5d7083}.card[data-tone=hard]{--tone: #8a6c3e}.card[data-tone=good]{--tone: #2f8f52}.card[data-tone=okoge]{--tone: #b0581a}.card[data-tone=burnt]{--tone: #3b2618}.card[data-tone=char]{--tone: #1c1410}.card[data-tone=perfect] .r-state{background:linear-gradient(100deg,#c98a00,#ffcf3a 40%,#fff3b0 50%,#ffcf3a 60%,#c98a00);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #8a5a00);animation:shine 2.4s linear infinite}@keyframes shine{to{background-position:-220% 0}}.r-nums{display:flex;justify-content:center;align-items:baseline;gap:14px;flex-wrap:wrap}.r-time{margin:0;font-weight:900;font-size:clamp(28px,8vw,36px);font-variant-numeric:tabular-nums}.r-time small{font-size:.5em;margin-left:2px}.r-diff{margin:0;font-weight:900;font-size:clamp(16px,4.6vw,20px);padding:2px 10px;border-radius:999px;font-variant-numeric:tabular-nums;background:#efe5d6}.r-diff[data-sign="+"]{color:#b4421a}.r-diff[data-sign="-"]{color:#2f5f9a}.r-diff[data-sign="0"]{color:#2f8f52}.retry-btn{margin-top:12px;width:100%;min-height:58px;border-radius:999px;font-size:20px;font-weight:900;color:#fff;background:linear-gradient(to bottom,#ff9a3c,var(--orange));box-shadow:0 5px 0 var(--orange-d)}.retry-btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--orange-d)}.result-social .social{margin-top:8px}.card.is-just{border:3px solid transparent;background:linear-gradient(var(--cream),var(--cream)) padding-box,linear-gradient(120deg,#c98a00,#ffe27a,#fff6cf,#ffcf3a,#c98a00) border-box;box-shadow:0 0 0 4px #ffd65a59,0 0 40px #ffc83c8c,0 14px 40px #3c28144d}.card.is-just .r-kicker{color:#b07800;font-size:15px;letter-spacing:.12em}.card.is-boom{background:linear-gradient(to bottom,#2a1d16,#120c09);border-color:#5a2a14;color:#fff}.card.is-boom .r-kicker{color:#ff8a4a}.card.is-boom .r-state{color:#ffd23a;-webkit-text-stroke:2px #b4280a;paint-order:stroke fill;text-shadow:0 4px 0 #6a1404}.r-boom{margin:0 0 8px;font-size:clamp(17px,5vw,21px);font-weight:900;color:#fff}.card.is-boom .r-diff{background:rgba(255,255,255,.1);color:#ff9a6a}
