@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--paper:#f4f0e5;--ink:#263f35;--orange:#e95831;--line:#d8d7c9;--muted:#7d8679;--cream:#fffaf0}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:13px}button,a,#dial{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}button:focus-visible,a:focus-visible,#dial:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button:hover{filter:brightness(.93)}header{height:89px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 5%}.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:9px;font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:900;letter-spacing:-1px}.brand-icon{font-size:41px;color:var(--orange);line-height:1}.jp{font-size:11px;font-family:'Noto Sans JP',sans-serif;letter-spacing:1px;margin-left:6px}.edition{font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:2px}.edition i{font-style:normal;color:var(--muted);margin-left:18px}.text-button{font-weight:600;font-size:12px}.text-button span{margin-left:16px}main{max-width:1480px;margin:auto;padding:0 5%}.intro{display:flex;align-items:center;gap:54px;padding:38px 0 34px;position:relative}.eyebrow{font-family:'Barlow Condensed',sans-serif;letter-spacing:2px;font-size:12px;font-weight:700;color:var(--orange)}h1{font-size:38px;letter-spacing:-1.7px;line-height:1.45;margin:9px 0 0;font-weight:900}h1 em{font-style:normal;color:var(--orange)}.intro>p{line-height:2.3;margin-top:37px;font-size:12px}.stamp{margin-left:auto;margin-right:14px;transform:rotate(12deg);border:1px solid var(--orange);border-radius:50%;height:101px;width:101px;display:flex;flex-direction:column;justify-content:center;text-align:center;color:var(--orange);font-family:'Barlow Condensed';font-size:12px;line-height:1.1;letter-spacing:1px;outline:1px dashed var(--orange);outline-offset:5px}.stamp strong{font-size:34px}.workshop{display:grid;grid-template-columns:255px minmax(320px,1fr) 250px;border:1px solid var(--line);background:rgba(255,255,255,.26)}.ingredients,.stats{padding:25px 23px}.section-label{display:flex;justify-content:space-between;font-family:'Barlow Condensed','Noto Sans JP',sans-serif;font-size:11px;letter-spacing:.8px;font-weight:600}.section-label span+span{font-size:9px;color:var(--muted);letter-spacing:0}h2{font-size:17px;margin:14px 0 23px;letter-spacing:-.5px}.topping-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.topping{padding:9px 4px 8px;border:1px solid var(--line);border-radius:3px;background:var(--cream);display:flex;align-items:center;gap:8px;text-align:left}.topping.active{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange);background:#ffeadb}.food-icon{font-size:24px;width:27px;text-align:center}.topping b{display:block;font-size:10px;font-weight:700}.topping small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.tip{font-size:9px;color:var(--muted);line-height:1.8;margin:13px 0 25px}.dough-label{border-top:1px solid var(--line);padding-top:22px}.dough-options{display:flex;margin-top:13px;gap:4px}.dough-options button{padding:9px 3px;border:1px solid var(--line);flex:1;font-size:10px;border-radius:3px}.dough-options span{display:block;font-size:8px;margin-top:4px;color:var(--muted)}.dough-options .active{background:var(--ink);color:white;border-color:var(--ink)}.dough-options .active span{color:#cad8ce}.recipe{margin-top:27px}.recipe>span,.note>span{font-family:'Barlow Condensed';font-size:11px;letter-spacing:1.5px;color:var(--muted)}.recipe p{font-size:11px;margin:7px 0}.recipe p b{font-family:'Barlow Condensed';font-size:23px}.recipe p span{padding:0 6px;color:var(--line)}.recipe small{font-size:9px;color:var(--muted)}.board{border-left:1px solid var(--line);border-right:1px solid var(--line);background:#e9e8d9;position:relative;display:flex;flex-direction:column;min-width:0}.board-top{display:flex;align-items:center;justify-content:space-between;margin:14px 20px;font-family:'Barlow Condensed';font-size:11px;letter-spacing:1.5px;z-index:1}.board-top button{font-size:25px;margin-left:9px}.live-dot{display:inline-block;width:6px;height:6px;background:var(--orange);border-radius:100%;margin-right:6px}.canvas-wrap{position:relative;flex:1;display:flex;align-items:center;min-height:300px}#editor{width:100%;height:auto;display:block;touch-action:none;cursor:crosshair}.board-note{position:absolute;bottom:6px;width:100%;text-align:center;font:10px 'Barlow Condensed';letter-spacing:1.7px;color:#899184}.shape-tools{display:flex;justify-content:center;gap:5px;padding:20px 8px}.shape-tools button{font-size:10px;padding:9px 12px;border:1px solid #cdd0c1;border-radius:30px}.shape-tools button.active{background:var(--ink);color:white;border-color:var(--ink)}.stat{margin:23px 0}.stat-title{display:flex;align-items:center;gap:9px}.stat-title i{font-style:normal;color:var(--orange);font-size:19px}.stat-title span{font-size:12px;font-weight:700}.stat-title b{margin-left:auto;font-family:'Barlow Condensed';font-size:28px}.stat-title b small{font-size:12px;color:#9aa091;font-weight:500}.stat-track{height:5px;background:#dddccd;margin-top:8px}.stat-track div{height:100%;background:var(--ink);transition:width .2s}.stat:first-child .stat-track div{background:var(--orange)}.stat>p{font-size:9px;color:var(--muted);margin:7px 0}.balance-map{display:flex;align-items:center;border-top:1px solid var(--line);padding-top:11px;margin-top:22px}.balance-map canvas{width:92px;height:76px}.balance-map span{font:9px 'Barlow Condensed';letter-spacing:1px}.balance-map p{font-size:9px;margin-top:6px}.note{background:#e7e9db;padding:14px;margin-top:15px;border-left:2px solid #788966}.note p{font-size:10px;line-height:1.9;margin:6px 0 0}.cook-bar{display:flex;align-items:center;gap:30px;border:1px solid var(--line);border-top:0;padding:24px 28px;background:#eeeadd}.heat-info{flex:1}.heat-info .section-label{color:var(--muted)}.heat-info h2{margin:8px 0;font-size:20px}.heat-info p{font-size:10px;color:var(--muted)}.temperature{display:flex;align-items:center;gap:20px}.dial-wrap{position:relative;padding:0 20px}#dial{height:100px;width:100px;border:8px solid #e3dfcf;border-radius:50%;background:linear-gradient(130deg,#fffdf2,#dad7c9);box-shadow:0 4px 5px #23392a22,inset 0 0 0 1px #faf6e9;display:flex;align-items:center;justify-content:center;position:relative;touch-action:none;cursor:ew-resize;outline-offset:3px}.dial-pointer{position:absolute;inset:1px;transform:rotate(0deg);pointer-events:none}.dial-pointer:before{content:'';position:absolute;top:3px;left:calc(50% - 2px);width:4px;height:11px;border-radius:3px;background:var(--orange)}#temperatureValue{font-family:'Barlow Condensed';font-size:29px;margin-top:9px}#temperatureValue small{font-size:12px;margin-left:3px}.dial-min,.dial-max{position:absolute;bottom:0;font:10px 'Barlow Condensed';color:var(--muted)}.dial-min{left:13px}.dial-max{right:6px}.temperature-caption{font:11px 'Barlow Condensed';letter-spacing:1px;max-width:95px;line-height:1.5}.temperature-caption span{display:block;font:9px 'Noto Sans JP';color:var(--muted);margin-top:7px;letter-spacing:0}.start-area{width:245px;margin-left:18px}#start{background:var(--orange);color:var(--cream);width:100%;padding:13px 23px;display:flex;justify-content:space-between;align-items:center;font:800 41px 'Barlow Condensed';letter-spacing:2px;border-radius:3px;box-shadow:0 4px 0 #b43e20}#start span{font-size:36px}.start-area p{font-size:9px;text-align:center;margin:12px 0 0}.start-area p>span{padding:0 8px}footer{display:flex;justify-content:space-between;gap:10px;padding:21px 0;font:10px 'Barlow Condensed';letter-spacing:1.3px;color:var(--muted)}footer i{font:9px 'Noto Sans JP';margin-left:15px;letter-spacing:0}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:36px;max-width:min(90vw,580px);border-radius:8px}dialog::backdrop{background:#182c25b8;backdrop-filter:blur(5px)}dialog h2{font-size:24px}dialog p,dialog li{font-size:12px;line-height:2}dialog ol{padding-left:20px}.close{position:absolute;right:15px;top:8px;font-size:27px}.primary{background:var(--orange);color:white;padding:13px 25px;font-weight:700;border-radius:3px}#battleDialog{width:960px;max-width:96vw;padding:20px;overflow:hidden}.battle-heading{display:flex;justify-content:space-between;font:14px 'Barlow Condensed';letter-spacing:1px}.battle-score{display:flex;align-items:center;justify-content:space-between;padding:18px 5px;gap:24px}.battle-score>div{width:38%;display:flex;flex-wrap:wrap;justify-content:space-between;font-size:11px}.battle-score b{font-family:'Barlow Condensed';font-size:20px}.battle-score progress{width:100%;height:6px;accent-color:var(--orange)}#clock{font:35px 'Barlow Condensed'}#arena{display:block;width:100%;max-height:60vh;object-fit:contain;background:#e6e5d6;border-radius:4px}.battle-bottom{display:flex;justify-content:space-between;font-size:10px;padding-top:13px;gap:12px}.battle-bottom>span+span{font-family:'Barlow Condensed';letter-spacing:1px}#result{position:absolute;inset:65px 0 0;background:#f4f0e5c9;backdrop-filter:blur(5px);align-items:center;justify-content:center}#result:not([hidden]){display:flex}.result-card{text-align:center;background:var(--paper);border:1px solid var(--line);padding:36px 45px;box-shadow:0 15px 50px #263f351a}.result-card h2{font:900 66px 'Barlow Condensed';color:var(--orange);margin:10px 0}.result-card .text-button{display:block;margin:17px auto 0}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--ink);color:white;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10;font-size:12px}#toast.show{opacity:1}
@media(min-width:1450px){.canvas-wrap{min-height:410px}}@media(max-width:1050px){main{padding:0 3%}.workshop{grid-template-columns:215px minmax(260px,1fr) 210px}.ingredients,.stats{padding:20px 16px}.topping{gap:4px}.temperature{gap:5px}.cook-bar{gap:12px;padding:20px}.start-area{width:200px;margin-left:5px}.temperature-caption{display:none}.intro{padding-top:26px}}@media(max-width:760px){header{height:69px;padding:0 5%}.brand{font-size:27px}.brand-icon{font-size:32px}.edition,.jp{display:none}main{padding:0 4%}.intro{gap:18px;padding:25px 0}.intro h1{font-size:29px}.intro>p{font-size:10px;margin-top:27px}.stamp{display:none}.workshop{grid-template-columns:1fr 1fr}.board{grid-column:1/-1;grid-row:1;border:0;border-bottom:1px solid var(--line)}.canvas-wrap{min-height:0;justify-content:center}#editor{max-height:360px;width:auto;max-width:100%}.board-top{margin:8px 16px}.shape-tools{padding:13px}.ingredients{border-right:1px solid var(--line)}.ingredients,.stats{padding:18px 13px}.section-label{font-size:10px}.section-label span+span{display:none}h2{font-size:14px;margin:11px 0 17px}.topping-grid{gap:6px}.topping{flex-direction:column;text-align:center;padding:7px 3px}.food-icon{font-size:25px}.topping small{font-size:8px}.tip{margin:10px 0 18px}.dough-options{flex-direction:column}.dough-options button{display:flex;justify-content:space-between;padding:8px}.dough-options span{margin:0}.recipe{margin-top:16px}.stats .stat{margin:21px 0}.balance-map{flex-direction:column;align-items:start}.balance-map canvas{width:110px}.note{margin-top:22px}.cook-bar{flex-wrap:wrap;padding:15px 13px;gap:0;position:sticky;bottom:0;z-index:2;box-shadow:0 -4px 18px #263f3510}.heat-info{display:none}.temperature{flex:1}.temperature .dial-wrap{padding:0 12px}#dial{width:76px;height:76px;border-width:6px}#temperatureValue{font-size:25px}.dial-min,.dial-max{font-size:8px}.dial-min{left:3px}.dial-max{right:0}.start-area{width:53%}#start{padding:6px 17px;font-size:33px}.start-area p{font-size:8px;margin-top:8px}footer{font-size:8px;line-height:1.7}footer i{display:block;margin:0;font-size:8px}.battle-score{gap:12px}.battle-score>div{font-size:9px}.battle-heading{font-size:10px}#battleDialog{padding:12px}.result-card{padding:25px}.result-card h2{font-size:48px}.battle-bottom{font-size:9px}dialog{padding:28px 22px}}
@media(max-width:760px){.intro{display:block}.intro h1{font-size:30px;letter-spacing:-1px}.intro>p{margin:12px 0 0;font-size:11px;line-height:1.8}}
.cook-bar{position:sticky;bottom:0;z-index:2;box-shadow:0 -4px 18px #263f3510}
