*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;background:linear-gradient(#fff9df,#ffe5a9);color:#4b372d}body{min-height:100dvh}.hidden{display:none!important}.recipe-app{width:min(100%,820px);min-height:100dvh;margin:0 auto;padding:max(10px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}.recipe-top{position:relative;display:flex;align-items:center;justify-content:center;min-height:64px;padding:8px 62px;background:#fff;border:4px solid #ffbd3e;border-radius:22px;box-shadow:0 5px 0 #e59a13}.recipe-brand{display:flex;align-items:center;justify-content:center;gap:9px;font-weight:1000;font-size:clamp(20px,5vw,31px)}.recipe-brand img{width:46px;height:46px;object-fit:cover;border-radius:15%}.recipe-progress{position:absolute;left:14px;padding:6px 8px;border:2px solid #ffd36c;border-radius:11px;background:#fff9e8;font-weight:1000;font-size:13px}.recipe-settings-button{position:absolute;right:10px;top:10px;width:40px;height:40px;border:2px solid #ffd36c;border-radius:12px;background:#fff7df;font-size:20px;box-shadow:0 3px 0 #e3ae36}.recipe-question{text-align:center;padding:10px 14px;background:#fff;border:4px solid #ffd36c;border-radius:22px;box-shadow:0 4px 0 #e3ae36}.recipe-question-label{font-size:12px;font-weight:900;color:#967258}.recipe-dish{font-size:clamp(46px,12vw,72px);line-height:1.05}.recipe-question h1{margin:2px 0 6px;font-size:clamp(26px,7vw,40px)}.recipe-target{padding:9px 12px;border-radius:15px;background:#fff6d8;font-size:clamp(14px,3.8vw,19px);font-weight:1000;line-height:1.45}.ingredient-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;background:linear-gradient(#fff,#fff7e7);border:5px solid #ffcf63;border-radius:28px;box-shadow:inset 0 0 0 4px #fff3c7,0 7px 0 #daa533}.ingredient-card{position:relative;min-height:110px;padding:8px;border:3px solid #fff;border-radius:20px;background:#fffaf3;box-shadow:0 6px 0 #c9a96d,0 8px 14px #0002;font:inherit;color:#4b372d;font-weight:900}.ingredient-card.selected{border-color:#58c76f;background:#efffe9;box-shadow:0 0 0 4px #c8f4ce,0 6px 0 #299c43}.ingredient-emoji{display:block;font-size:clamp(42px,12vw,72px);line-height:1.05}.ingredient-name{display:block;margin-top:4px;font-size:clamp(12px,3vw,17px)}.ingredient-card.selected::after{content:"✓";position:absolute;top:5px;right:7px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#58c76f;color:#fff;font-size:17px}.cook-button,.recipe-start{width:100%;padding:14px;border:0;border-radius:20px;background:#58c76f;color:#fff;font:inherit;font-size:clamp(22px,6vw,29px);font-weight:1000;box-shadow:0 6px 0 #299c43}.recipe-message{min-height:1.3em;margin:0;text-align:center;font-weight:1000}.recipe-complete-effect{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at center,#fffdf7 0,#fff7d7e8 52%,#ffd56be8 100%);text-align:center;pointer-events:none;overflow:hidden}.recipe-complete-effect::before,.recipe-complete-effect::after{content:"✨";position:absolute;font-size:clamp(54px,14vw,100px);opacity:.9}.recipe-complete-effect::before{left:10%;top:18%;transform:rotate(-18deg)}.recipe-complete-effect::after{right:10%;bottom:18%;transform:rotate(20deg)}.recipe-complete-effect.play .recipe-complete-dish{animation:recipe-dish-pop .7s cubic-bezier(.2,1.5,.4,1) both}.recipe-complete-effect.play .recipe-complete-title{animation:recipe-title-pop .55s .18s cubic-bezier(.2,1.4,.4,1) both}.recipe-complete-effect.play .recipe-complete-name{animation:recipe-title-pop .5s .28s ease-out both}.recipe-complete-effect.play .recipe-complete-sparkles{animation:recipe-sparkle .9s ease-in-out both}.recipe-complete-sparkles{font-size:clamp(34px,9vw,58px);letter-spacing:.12em}.recipe-complete-dish{font-size:clamp(110px,30vw,220px);line-height:1;margin:8px 0 10px;filter:drop-shadow(0 10px 8px #0002)}.recipe-complete-title{font-size:clamp(40px,11vw,72px);font-weight:1000;color:#ef7b16;text-shadow:0 4px 0 #fff,0 7px 0 #f6c25c}.recipe-complete-name{margin-top:8px;font-size:clamp(22px,6vw,34px);font-weight:1000;color:#4b372d}@keyframes recipe-dish-pop{0%{opacity:0;transform:scale(.15) rotate(-12deg)}55%{opacity:1;transform:scale(1.18) rotate(4deg)}75%{transform:scale(.94) rotate(-2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}@keyframes recipe-title-pop{0%{opacity:0;transform:translateY(18px) scale(.8)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes recipe-sparkle{0%{opacity:0;transform:scale(.5) rotate(-10deg)}45%{opacity:1;transform:scale(1.15) rotate(6deg)}100%{opacity:1;transform:scale(1) rotate(0)}}.recipe-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:max(18px,env(safe-area-inset-top)) 14px max(20px,env(safe-area-inset-bottom));overflow:auto;background:#fff4cfef}.recipe-panel{width:min(95vw,560px);padding:18px;text-align:center;background:#fff;border:6px solid #ffbd3e;border-radius:30px;box-shadow:0 9px 0 #e59a13}.recipe-list-button{display:flex;align-items:center;justify-content:center;width:100%;margin:6px 0 12px;padding:13px 16px;border:3px solid #ffd36c;border-radius:18px;background:#fffaf0;color:#4b372d;font:inherit;font-size:18px;font-weight:1000;line-height:1.2;box-shadow:0 4px 0 #e3ae36;cursor:pointer}.recipe-list-button:active{transform:translateY(2px);box-shadow:0 2px 0 #e3ae36}.recipe-panel .advanced-settings{margin-top:12px}.recipe-panel .setting-block{padding:10px 14px 14px;border-top:2px solid #f4e3b8}.recipe-panel .setting-readout{display:flex;justify-content:space-between;align-items:baseline;font-weight:900}.recipe-panel .setting-readout strong{font-size:23px;color:#ef6c00}.recipe-panel input{width:100%;accent-color:#ff9f1c}.recipe-panel .range-labels{display:flex;justify-content:space-between;font-size:12px;font-weight:900;color:#806b5d}.recipe-list-panel{width:min(96vw,680px)}.recipe-list-panel h2{margin:2px 0 12px;font-size:clamp(28px,7vw,38px)}.recipe-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipe-list-card{aspect-ratio:1;min-width:0;padding:12px;display:grid;grid-template-rows:auto 1fr auto;align-items:center;border:3px solid #ffd36c;border-radius:22px;background:linear-gradient(180deg,#fffdf7,#fff5d9);text-align:center;box-shadow:0 5px 0 #e6bd58,0 8px 14px #0001;overflow:hidden}.recipe-list-name{display:block;font-size:clamp(16px,4vw,22px);line-height:1.15}.recipe-list-dish{display:grid;place-items:center;font-size:clamp(44px,13vw,74px);line-height:1}.recipe-list-materials{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 6px;padding-top:6px;border-top:2px dashed #f1d995;font-size:clamp(10px,2.7vw,13px);font-weight:900;line-height:1.25}.recipe-list-caption{width:100%;font-size:10px;color:#9a755a}.recipe-list-material{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.recipe-result-stars{font-size:44px}.recipe-result-dish{font-size:90px}.recipe-result-panel h2{margin:4px 0;font-size:clamp(30px,8vw,44px)}.recipe-result-panel p{font-size:18px;font-weight:900}.recipe-secondary{width:100%;margin-top:12px;padding:12px;border:0;border-radius:18px;background:#71b7ee;color:#fff;font:inherit;font-size:18px;font-weight:1000;box-shadow:0 5px 0 #3c85bf}@media(max-width:480px){.recipe-app{gap:8px}.recipe-top{min-height:56px;padding-left:52px;padding-right:52px}.recipe-brand strong{display:none}.recipe-brand img{width:42px;height:42px}.recipe-progress{left:8px;font-size:11px}.recipe-settings-button{right:8px;top:7px;width:38px;height:38px}.ingredient-grid{gap:7px;padding:8px}.ingredient-card{min-height:92px;padding:5px;border-radius:16px}.ingredient-emoji{font-size:clamp(36px,12vw,56px)}.ingredient-name{font-size:11px}.recipe-list-grid{grid-template-columns:1fr 1fr;gap:8px}.recipe-list-card{padding:9px;border-radius:18px}.recipe-list-dish{font-size:clamp(38px,12vw,58px)}.recipe-list-name{font-size:14px}.recipe-list-materials{gap:3px;font-size:9px}.recipe-list-caption{font-size:8px}}