*{box-sizing:border-box}:root{--gold:#e7b553;--gold2:#ffdb83;--red:#b61f16;--dark:#0b0604;--line:#7a5428}html,body{margin:0;min-height:100%;background:#090504;color:#fff;font-family:"Noto Serif TC","Noto Sans TC","Microsoft JhengHei",serif;overflow-x:hidden}button{font-family:inherit;cursor:pointer}.app{width:min(100vw,430px);min-height:100dvh;margin:0 auto;background:#100905;position:relative;box-shadow:0 0 40px #000;overflow:hidden}.screen{display:none;min-height:100dvh;position:relative;padding:14px}.screen.active{display:block}.home-bg{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.25),rgba(0,0,0,.85)),url("./assets/mock_pork.jpg");background-size:cover;background-position:center;filter:saturate(1.08);z-index:0}.logo-wrap,.home-copy,#startBtn,.home-bottom{position:relative;z-index:1}.logo-wrap{text-align:center;padding-top:40px;text-shadow:0 5px 12px #000}.logo-main{font-size:54px;font-weight:900;letter-spacing:5px;line-height:.95}.logo-badge{display:inline-block;background:#9d1c13;color:#fff;padding:6px 8px;border-radius:18px;margin-left:8px;writing-mode:vertical-rl;font-size:15px;position:absolute;top:42px;right:94px}.logo-sub{display:inline-block;margin-top:14px;color:var(--gold2);font-size:23px;font-weight:900;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);padding:5px 16px}.home-copy{margin:210px 8px 20px;font-size:24px;line-height:1.5;font-weight:900;text-shadow:0 4px 8px #000}.wood-btn,.red-btn,.small-btn{border:2px solid #6e431c;border-radius:8px;color:#200f05;background:linear-gradient(#deb36b,#a86b29);box-shadow:0 5px 0 #3b1d0d,0 0 16px rgba(226,166,69,.28);font-size:22px;font-weight:900;padding:14px 18px;width:100%}.wood-btn.big,.red-btn.big{font-size:28px;padding:16px}.red-btn{background:linear-gradient(#d8452c,#8f150f);color:#fff;border-color:#77150f;box-shadow:0 5px 0 #430904,0 0 16px rgba(255,60,30,.2)}.home-bottom{position:absolute;bottom:16px;left:14px;right:14px;display:flex;justify-content:space-between;gap:16px}.small-btn{font-size:16px;padding:9px;width:auto;min-width:104px;background:linear-gradient(#2a1b12,#0f0905);color:var(--gold2)}.game-top{display:grid;grid-template-columns:1.05fr 1fr 1.05fr;gap:8px;align-items:start}.order-card,.menu-card,.bento-panel,.result-panel{background:rgba(16,9,4,.92);border:2px solid var(--line);border-radius:12px;box-shadow:inset 0 0 20px rgba(255,178,60,.05),0 5px 16px #000;padding:10px}.small-title{text-align:center;color:#211005;background:linear-gradient(#deb36b,#b87733);border-radius:4px;font-weight:900;padding:3px;font-size:14px;margin-bottom:5px}.order-name{font-size:22px;text-align:center;color:#000;background:#d8aa61;border-radius:5px;padding:5px 2px;font-weight:900;letter-spacing:1px}.line{height:1px;background:#68451f;margin:6px 0}.need-icons{display:flex;justify-content:center;gap:4px;min-height:42px}.need-icons img{width:36px;height:36px;object-fit:contain;background:#080604;border-radius:4px;padding:2px}.brand{text-align:center;position:relative}.brand-main{font-size:41px;font-weight:900;letter-spacing:4px;line-height:.95;text-shadow:0 4px 8px #000}.brand-badge{position:absolute;right:-2px;top:0;background:#a91912;border-radius:12px;writing-mode:vertical-rl;padding:5px 3px;font-size:13px}.brand-sub{color:var(--gold2);font-size:17px;font-weight:900;margin-top:10px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:3px 0}.menu-card{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.menu-card .small-title{grid-column:1/5;background:#15100b;color:var(--gold2);border:1px solid var(--line)}.meat-tab{height:106px;background:linear-gradient(90deg,#8b5829,#4a260f);color:#100703;border:1px solid #724215;border-radius:5px;writing-mode:vertical-rl;font-size:22px;font-weight:900;box-shadow:inset 0 0 10px rgba(255,210,130,.18)}.meat-tab.active{color:#fff;border-color:#ffd365;box-shadow:0 0 15px #ffc54c,inset 0 0 18px rgba(255,210,100,.35)}.play-area{display:grid;grid-template-columns:1fr 88px;grid-template-rows:auto auto auto;gap:6px;margin-top:10px;align-items:stretch}.grill-wrap{grid-column:1;grid-row:1;position:relative;height:440px;border-radius:12px;overflow:hidden}.bento-panel{grid-column:2;grid-row:1 / span 3}.fire-meter{grid-column:1;grid-row:2}.heat-meter{grid-column:1;grid-row:3}.meter{background:#090504;border:2px solid #5b3a1e;border-radius:8px;padding:8px 12px;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;min-height:auto}.meter-title{font-weight:900;color:var(--gold2);font-size:16px;writing-mode:horizontal-tb;margin:0;white-space:nowrap}.fire-meter input{-webkit-appearance:auto;appearance:auto;writing-mode:horizontal-tb;width:100%;height:24px;accent-color:#e63a16;margin:0}.meter-label{font-size:16px;font-weight:900;color:var(--gold2);white-space:nowrap}.meter-label.mid{display:none}.heat-track{grid-column:2 / span 3;height:34px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative;margin-top:0;padding:0 4px}.heat-track:before{content:"";position:absolute;height:4px;left:12px;right:12px;background:#2b251e;border-radius:5px;top:50%;transform:translateY(-50%);width:auto;bottom:auto}.heat-track span{z-index:1;background:#090504;padding:2px 5px;color:#fff;font-weight:900;writing-mode:horizontal-tb;font-size:13px;white-space:nowrap}.heat-track .perfect{color:#ffd85c;text-shadow:0 0 8px #ffc400}.heat-pointer{position:absolute;width:16px;height:16px;border-radius:50%;background:#ffd85c;left:var(--prog,0);top:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px #ffd85c;z-index:2}.grill{position:absolute;inset:0;border:2px solid #75512a;border-radius:18px;overflow:hidden;background:#1a100b}.coals{position:absolute;inset:0;background:radial-gradient(circle at 30% 70%,rgba(255,50,0,.9),rgba(255,110,0,.3) 12%,transparent 22%),radial-gradient(circle at 60% 75%,rgba(255,170,0,.8),rgba(255,55,0,.25) 15%,transparent 27%),radial-gradient(circle at 75% 54%,rgba(255,85,0,.65),transparent 22%),linear-gradient(#160e09,#050302)}.grid-lines{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 20px,rgba(230,230,230,.26) 21px 24px),repeating-linear-gradient(0deg,transparent 0 20px,rgba(230,230,230,.20) 21px 24px);filter:drop-shadow(0 2px 1px #000)}.meat-layer{position:absolute;inset:0}.meat-piece{position:absolute;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.8));transition:filter .18s,transform .18s}.flip-alert{display:none;position:absolute;z-index:5;left:50%;top:22px;transform:translateX(-50%);font-size:42px;line-height:1;color:#fff;background:#b81912;border-radius:12px;padding:6px 18px;text-shadow:0 0 10px #ff3300;box-shadow:0 0 16px #ff2d15;font-weight:900;animation:bump .42s infinite alternate}.flip-alert small{display:block;font-size:15px;text-align:center}@keyframes bump{from{transform:translateX(-50%) scale(1)}to{transform:translateX(-50%) scale(1.08)}}.smoke,.result-smoke{position:absolute;width:22px;height:130px;border-radius:50%;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.38),rgba(255,255,255,0));filter:blur(8px);animation:steam 2.6s infinite;z-index:3;pointer-events:none}.s1{left:27%;top:5px}.s2{left:50%;top:0;animation-delay:.6s}.s3{left:72%;top:8px;animation-delay:1.1s}@keyframes steam{0%{transform:translateY(50px) scale(.7);opacity:0}35%{opacity:.7}100%{transform:translateY(-80px) scale(1.6);opacity:0}}.bento-panel{min-height:auto;padding:8px;display:flex;flex-direction:column}.bento-panel .bento-box{flex:1}.bento-title{text-align:center;font-size:22px;font-weight:900;color:var(--gold2);margin-bottom:6px}.bento-box{background:#d8c29a;border:4px solid #a18155;border-radius:9px;padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:4px;min-height:175px}.bento-slot{background:rgba(255,255,255,.18);border:1px dashed rgba(89,54,25,.5);border-radius:4px;min-height:48px;position:relative;overflow:hidden}.bento-slot img{width:100%;height:100%;object-fit:cover}.rice-slot{background:#eee0c4}.rice-slot span{font-size:34px;color:#7e3b15;font-weight:900;text-shadow:1px 1px 0 #d9a161;position:absolute;right:6px;top:2px}.progress-text{text-align:center;font-size:28px;color:#ffd98c;font-weight:900;margin:8px 0}.hint{font-size:16px;text-align:center;color:#ffd98c;font-weight:900;margin-top:10px;min-height:24px}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:rgba(0,0,0,.88);border:1px solid var(--gold);color:#ffd98c;padding:10px 16px;border-radius:99px;z-index:99;display:none;max-width:340px;text-align:center;font-weight:900}.result-panel{min-height:calc(100dvh - 28px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden}.stars{font-size:42px;color:#ffd557;text-shadow:0 0 12px #ff8200;margin-top:8px}.result-title{font-size:48px;line-height:1.1;color:#eac365;font-weight:900;text-shadow:0 4px 8px #000}.result-dish{margin-top:8px;border:1px solid #5b3a1e;border-radius:8px;padding:6px 18px;font-size:20px;color:#ffd98c;background:#130b07}.result-bento-wrap{position:relative;width:100%;height:360px;display:flex;align-items:center;justify-content:center;margin:4px 0}.result-bento{max-width:105%;max-height:350px;object-fit:contain;filter:drop-shadow(0 12px 18px #000)}.r1{left:30%;bottom:190px}.r2{left:52%;bottom:205px;animation-delay:.7s}.r3{left:67%;bottom:185px;animation-delay:1.2s}.ticket-row{display:flex;align-items:center;gap:18px;width:100%;justify-content:center;margin-top:-8px}.ticket{width:145px;height:80px;background:#e7d3aa;color:#170d06;border:2px solid #9d7441;border-radius:6px;text-align:center;display:flex;flex-direction:column;justify-content:center;transform:rotate(-2deg);box-shadow:0 5px 12px #000}.ticket b{font-size:23px;line-height:1.05}.ticket small{font-size:13px;margin-top:5px}.ticket-plus{font-size:32px;color:#ffd65c;font-weight:900;text-shadow:0 0 10px #ff8500}.ticket-plus small{font-size:16px;color:#ffd98c}#nextBtn{margin-top:16px}@media(max-width:390px){.screen{padding:10px}.brand-main{font-size:35px}.order-name{font-size:19px}.play-area{grid-template-columns:1fr 78px}.grill-wrap{height:400px}.meat-tab{font-size:19px;height:96px}.result-title{font-size:42px}.heat-track span{font-size:12px;padding:1px 3px}.meter{padding:6px 8px;gap:6px}.meter-title{font-size:14px}.meter-label{font-size:14px}}

/* ===== 手機橫向：鎖定設計稿 868×686 比例，置中等比縮放，四周黑邊（海報式）===== */
@media (orientation:landscape){
  html,body{background:#000}
  body{overflow:hidden}
  .app{position:absolute;left:50%;top:50%;width:868px;height:686px;max-width:none;min-height:0;transform:translate(-50%,-50%) scale(var(--fit,1));transform-origin:center center;overflow:hidden;background:#100905}
  .screen{height:686px;min-height:0;padding:16px 20px}

  /* 首頁 */
  #screen-home.active{display:flex;flex-direction:column;justify-content:center;align-items:center}
  .home-bg{background:linear-gradient(rgba(8,4,2,.66),rgba(8,4,2,.86)),url("./assets/mock_pork.jpg");background-size:cover;background-position:center}
  .logo-main{font-size:66px}
  .logo-sub{font-size:26px;margin-top:14px}
  .home-copy{margin:28px 8px;font-size:27px;text-align:center}
  #startBtn{max-width:460px}
  .home-bottom{position:static;margin-top:24px;max-width:460px;width:100%}

  /* 遊戲畫面 */
  #screen-game.active{display:flex;flex-direction:column;height:686px;min-height:0;overflow:hidden}
  .game-top{grid-template-columns:254px 1fr 304px;gap:18px;flex:0 0 auto;align-items:start}

  /* 今日訂單：木雕外框 */
  .order-card{background:linear-gradient(#7d5528,#4e3115);border:3px solid #2f1d0d;border-radius:8px;box-shadow:inset 0 0 0 2px #c79a4e,inset 0 0 16px rgba(0,0,0,.5),0 4px 10px #000;padding:10px 14px}
  .order-card .small-title{background:transparent;color:#f3d8a2;border:none;font-size:15px;letter-spacing:3px;margin-bottom:3px}
  .order-card .order-name{background:transparent;color:#fff;font-size:27px;text-shadow:0 2px 4px #000;letter-spacing:2px;padding:2px}
  .order-card .line{background:linear-gradient(90deg,transparent,#c79a4e,transparent);height:2px;margin:7px 10px}
  .order-card .need-icons{min-height:0}
  .order-card .need-icons img{width:108px;height:108px;background:transparent;padding:0;filter:drop-shadow(0 4px 6px #000)}

  /* 品牌 */
  .brand-main{font-size:60px}
  .brand-badge{font-size:18px;padding:7px 4px}
  .brand-sub{font-size:23px;margin-top:12px;padding:5px 0}

  /* 選擇肉品：吊掛木牌 */
  .menu-card{background:transparent;border:none;box-shadow:none;padding:0 2px;display:grid;grid-template-columns:repeat(4,1fr);align-content:start;gap:8px}
  .menu-card .small-title{grid-column:1/5;background:linear-gradient(#2a1b10,#15100b);color:var(--gold2);border:1px solid var(--line);margin-bottom:20px;font-size:14px;letter-spacing:4px;padding:3px}
  .meat-tab{position:relative;height:auto;min-height:106px;margin-top:14px;border-radius:4px 4px 6px 6px;background:linear-gradient(#9a6230,#5e3414);border:1px solid #2f1d0d;writing-mode:vertical-rl;box-shadow:0 4px 8px rgba(0,0,0,.55),inset 0 0 12px rgba(255,210,130,.18);color:#ffe9c2;text-shadow:0 1px 2px #000;font-size:25px}
  .meat-tab::before{content:"";position:absolute;top:-14px;left:50%;width:2px;height:14px;background:#b98f4a;transform:translateX(-50%)}
  .meat-tab::after{content:"";position:absolute;top:-19px;left:50%;width:9px;height:9px;border-radius:50%;background:#120c07;border:1px solid #b98f4a;transform:translateX(-50%);box-shadow:0 0 4px #000}
  .meat-tab.active{border-color:#ffd365;box-shadow:0 0 18px #ffc54c,inset 0 0 20px rgba(255,210,100,.4);color:#fff;background:linear-gradient(#b9803f,#7a4a1c)}

  /* 操作區 */
  .play-area{display:grid;grid-template-columns:78px 102px 1fr 240px;grid-template-rows:1fr;gap:18px;flex:1 1 auto;min-height:0;margin-top:14px;align-items:stretch}
  .fire-meter{grid-column:1;grid-row:1;position:relative}
  .heat-meter{grid-column:2;grid-row:1}
  .grill-wrap{grid-column:3;grid-row:1;height:auto;min-height:0}
  .bento-panel{grid-column:4;grid-row:1;display:flex;flex-direction:column;min-height:0}

  .meter{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:12px 6px;min-height:0;height:100%}
  .meter-title{writing-mode:vertical-rl;font-size:21px;margin:0}
  .fire-meter input{-webkit-appearance:none;appearance:none;writing-mode:vertical-lr;direction:rtl;width:18px;height:auto;flex:1 1 auto;min-height:0;margin:12px 0;background:transparent;cursor:pointer}
  .fire-meter input::-webkit-slider-runnable-track{width:18px;border-radius:9px;background:linear-gradient(to top,#e7b553 0%,#ffb24a 40%,#ff7a22 70%,#e6391a 100%);border:1px solid #5b3a1e;box-shadow:inset 0 0 6px rgba(0,0,0,.5)}
  .fire-meter input::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6d2,#ffd97a 45%,#d99a2f 80%);border:2px solid #b9831f;box-shadow:0 0 12px #ffce5e,0 2px 5px #000;margin-left:-6px}
  .meter-label{font-size:18px}
  .fire-meter .meter-label.mid{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:17px;color:var(--gold2);background:rgba(9,5,4,.55);padding:0 4px;border-radius:3px;z-index:3;pointer-events:none}

  .heat-track{display:flex;flex-direction:column;height:auto;flex:1 1 auto;min-height:0;width:auto;justify-content:space-between;align-items:center;padding:8px 0;margin-top:8px}
  .heat-track:before{content:"";position:absolute;width:4px;height:auto;left:50%;right:auto;top:12px;bottom:12px;transform:translateX(-50%)}
  .heat-track span{writing-mode:vertical-rl;font-size:18px;padding:3px;white-space:nowrap}
  .heat-pointer{left:calc(50% - 3px);top:var(--prog,0);width:20px;height:20px}

  /* 烤網肉群 */
  .meat-layer{left:50%;right:auto;width:440px;height:340px;top:50%;transform:translate(-50%,-50%) scale(1)}

  /* 便當盒 */
  .bento-title{font-size:26px;margin-bottom:8px}
  .bento-box{flex:1 1 auto;min-height:0}
  .progress-text{margin:8px 0;font-size:30px}
  .bento-panel .red-btn{font-size:25px;padding:14px}

  .hint{flex:0 0 auto;margin-top:6px;font-size:17px;min-height:20px}

  /* 完美出餐結果頁 */
  .result-panel{min-height:0;height:100%}
}

/* ===== 操作介面背景 op_bg.png（941×1672 直式）：元件疊在背景槽位上、等比縮放置中、黑邊 ===== */
body:has(#screen-game.active){background:#000;overflow:hidden}
#screen-game.active{display:block;position:fixed;left:50%;top:50%;width:941px;height:1672px;max-width:none;min-height:0;padding:0;margin:0;transform:translate(-50%,-50%) scale(var(--gfit,1));transform-origin:center center;background:#0a0604 url("./assets/op_bg.png?v=3") center/100% 100% no-repeat;overflow:hidden;box-shadow:none}
#screen-game .game-top,#screen-game .play-area,#screen-game .bento-panel{display:contents}

/* 今日訂單（左上木框）*/
#screen-game .order-card{position:absolute;left:3.6%;top:4.8%;width:23.4%;height:19.3%;background:none;border:none;box-shadow:none;padding:12px 8px 14px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;z-index:3}
#screen-game .order-card .small-title{background:none;border:none;color:#e3c084;font-size:13px;font-weight:900;letter-spacing:3px;margin:0;padding:0;line-height:1.15}
#screen-game .order-card .order-name{background:none;color:#fff;font-size:26px;font-weight:900;padding:0;text-shadow:0 2px 4px #000;letter-spacing:2px;line-height:1.1}
#screen-game .order-card .line{display:none}
#screen-game .order-card .need-icons{min-height:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;width:100%;margin-top:2px;overflow:visible}
#screen-game .order-card .need-icons img{width:100%;height:100%;object-fit:contain;background:none;padding:0;filter:drop-shadow(0 4px 6px #000)}
#screen-game .order-card[data-meat="loin"] .need-icons img{transform:scale(1.55)}
#screen-game .order-card[data-meat="rib"] .need-icons img{transform:scale(1.12)}
#screen-game .order-card[data-meat="chicken"] .need-icons img{transform:scale(1.04)}
#screen-game .order-card .order-tagline{color:#e3c084;font-size:13px;font-weight:900;letter-spacing:2px;text-align:center;line-height:1.1;margin-top:1px;text-shadow:0 1px 2px #000;flex:0 0 auto}

/* 品牌 logo（中央圓徽章）*/
#screen-game .brand{display:block;position:absolute;left:38.5%;top:0.4%;width:22.5%;height:13.4%;background:url("./assets/logo_main.png?v=3") center/contain no-repeat;filter:drop-shadow(0 2px 6px #000);z-index:3}
#screen-game .brand>*{display:none}

/* 選擇肉品（右上四個吊牌）*/
#screen-game .menu-card{position:absolute;left:54.5%;top:9%;width:42%;height:15.5%;background:none;border:none;box-shadow:none;padding:0;display:flex;flex-direction:row;justify-content:space-between;gap:0;z-index:3}
#screen-game .menu-card .small-title{display:none}
#screen-game .meat-tab{position:relative;flex:1;height:100%;min-height:0;margin:0;background:transparent center/contain no-repeat;border:none;box-shadow:none;border-radius:0;font-size:0;color:transparent;text-shadow:none}
#screen-game .meat-tab::before,#screen-game .meat-tab::after{display:none}
#screen-game .meat-tab[data-meat=pork]{background-image:url("./assets/tag_pork.png")}
#screen-game .meat-tab[data-meat=loin]{background-image:url("./assets/tag_loin.png")}
#screen-game .meat-tab[data-meat=chicken]{background-image:url("./assets/tag_chicken.png")}
#screen-game .meat-tab[data-meat=rib]{background-image:url("./assets/tag_rib.png")}
#screen-game .meat-tab[data-meat=pork].active{background-image:url("./assets/tag_pork_on.png?v=2")}
#screen-game .meat-tab[data-meat=loin].active{background-image:url("./assets/tag_loin_on.png?v=2")}
#screen-game .meat-tab[data-meat=chicken].active{background-image:url("./assets/tag_chicken_on.png?v=2")}
#screen-game .meat-tab[data-meat=rib].active{background-image:url("./assets/tag_rib_on.png?v=2")}

/* 火力（左上直條）*/
#screen-game .fire-meter{position:absolute;left:1.2%;top:30.2%;width:11%;height:14%;background:none;border:none;box-shadow:none;padding:0;display:flex;align-items:center;justify-content:center;z-index:3}
#screen-game .fire-meter .meter-title,#screen-game .fire-meter .meter-label{display:none}
#screen-game .fire-meter input{-webkit-appearance:none;appearance:none;writing-mode:vertical-lr;direction:rtl;width:22px;height:80%;background:transparent;margin:0;cursor:pointer}
#screen-game .fire-meter input::-webkit-slider-runnable-track{width:6px;border-radius:6px;background:transparent}
#screen-game .fire-meter input::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6d2,#ffd97a 45%,#d99a2f 80%);border:2px solid #b9831f;box-shadow:0 0 12px #ffce5e,0 2px 4px #000;margin-left:0}

/* 熟度（左下直條，金球指針）*/
#screen-game .heat-meter{position:absolute;left:2.2%;top:54%;width:11%;height:14%;background:none;border:none;box-shadow:none;padding:0;z-index:3}
#screen-game .heat-meter .meter-title{display:none}
#screen-game .heat-track{position:absolute;inset:0;display:block;background:none;margin:0;padding:0;height:auto;width:auto}
#screen-game .heat-track:before,#screen-game .heat-track span{display:none}
#screen-game .heat-pointer{left:calc(50% - 3px);top:var(--prog,0);width:24px;height:24px;background:radial-gradient(circle at 35% 30%,#fff,#ffd85c 55%,#e08a00);box-shadow:0 0 12px #ffd85c}

/* 烤網（中央，只留肉片，背景由圖提供）*/
#screen-game .grill-wrap{position:absolute;left:16%;top:26.5%;width:72%;height:41.5%;border-radius:0;overflow:visible;z-index:2}
#screen-game .grill{background:none;border:none}
#screen-game .grill .coals,#screen-game .grill .grid-lines{display:none}
#screen-game .meat-layer{position:absolute;left:50%;top:50%;width:90%;height:62%;transform:translate(-50%,-50%) scale(1.15);display:flex;align-items:center;justify-content:center;gap:0.8%}
#screen-game .meat-piece{position:relative!important;left:auto!important;top:auto!important;margin:0!important;flex:0 0 auto}
#screen-game .meat-layer.meat-loin .meat-piece{margin:0 -22px!important}

/* 便當盒（下方）*/
#screen-game .bento-title{display:none}
#screen-game .bento-box{position:absolute;left:29%;top:71.4%;width:37%;height:12.4%;background:none;border:none;padding:0;display:block;z-index:3}
#screen-game .bento-box .bento-slot{position:absolute;background:none;border:none;min-height:0;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))}
#screen-game .bento-box .bento-slot span{display:none}
#screen-game .bento-box .rice-slot{left:3%;top:60%;width:67%;height:37%;background-image:url("./assets/bento_rice.png?v=2");background-size:cover;border-radius:5px}
#screen-game .bento-box .meat-slot{left:5%;top:57%;width:63%;height:40%;z-index:2;filter:none;overflow:visible}
#screen-game .bento-box .meat-slot img{width:100%;height:100%;object-fit:contain}
#screen-game .bento-box[data-meat="loin"] .meat-slot{left:11%;top:51%;width:51%;height:52%}
#screen-game .bento-box[data-meat="loin"] .meat-slot img{transform:scale(1.8);transform-origin:center}
#screen-game .bento-box[data-meat="rib"] .meat-slot img{transform:scale(1.35);transform-origin:center bottom}
#screen-game .bento-box .bento-slot:nth-child(3){left:76%;top:1%;width:23.5%;height:97%;background-image:url("./assets/bento_shrimp.png?v=2");background-size:contain;background-position:center}
#screen-game .bento-box .bento-slot:nth-child(4){left:3%;top:5%;width:31%;height:50%;background-image:url("./assets/bento_pickles.png?v=2")}
#screen-game .bento-box .bento-slot:nth-child(5){left:38%;top:5%;width:31%;height:50%;background-image:url("./assets/bento_veg.png?v=2")}
#screen-game .bento-box .bento-slot:nth-child(6){display:none}
#screen-game .progress-text{position:absolute;left:65%;top:74%;width:22%;margin:0;font-size:30px;color:#ffd98c;text-shadow:0 2px 3px #000;z-index:3}

/* 夾進便當盒（底部紅牌）*/
#screen-game .bento-panel .red-btn,#screen-game #serveBtn{position:absolute;left:30%;top:86.5%;width:32%;height:8.6%;background:url("./assets/btn_serve_text.png?v=1") center/86% no-repeat;border:none;box-shadow:none;color:transparent;font-size:0;padding:0;z-index:3;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}

#screen-game .hint{display:none}
#screen-game #flipAlert{z-index:6}

/* 出餐毛筆字回饋（完美！/真香！/連擊！/超讚！）*/
#screen-game .fb-label{position:absolute;left:50%;top:40%;width:48%;transform:translate(-50%,-50%) scale(.6);opacity:0;z-index:7;pointer-events:none;filter:drop-shadow(0 6px 14px #000)}
#screen-game .fb-label.show{animation:fbpop 1.15s ease-out forwards}
@keyframes fbpop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-3deg)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.14) rotate(0)}34%{transform:translate(-50%,-50%) scale(1)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-64%) scale(1)}}

/* ===== 首頁封面：炭火場景 + 標題 + 開始營業 ===== */
#screen-home.active{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0}
#screen-home .home-bg{background:linear-gradient(rgba(10,6,3,.5),rgba(10,6,3,.2) 34%,rgba(10,6,3,.5) 60%,rgba(8,5,3,.92)),url("./assets/home_cover_v2.png");background-size:cover;background-position:center 50%}
#screen-home .logo-wrap{position:relative;z-index:1;padding-top:54px}
#screen-home .logo-main{font-size:52px;letter-spacing:4px}
#screen-home .logo-badge{position:absolute;top:34px;left:50%;margin-left:84px;right:auto}
#screen-home .logo-sub{font-size:21px;margin-top:14px;letter-spacing:3px}
#screen-home .home-copy{position:relative;z-index:1;margin:22px 16px 0;font-size:22px;text-align:center;line-height:1.5}
#screen-home #startBtn{position:relative;z-index:1;margin-top:auto;margin-bottom:8px;max-width:330px;width:86%}
#screen-home .home-hint{position:relative;z-index:1;color:#d9b97a;font-size:14px;letter-spacing:4px;margin-bottom:16px;text-align:center}
#screen-home .home-bottom{position:relative;z-index:1;left:auto;right:auto;bottom:auto;margin-bottom:18px;width:86%;max-width:360px}

/* ===== 首頁封面（精緻版）：模糊滿版底 + 清晰主圖 + 暈影 + 淡入 ===== */
#screen-home.active{display:block;padding:0;background:#0a0604;position:relative;overflow:hidden}
#screen-home.active::before{content:"";position:absolute;inset:-8%;background:url("./assets/home_cover_v2.png") center center/cover no-repeat;filter:blur(26px) brightness(.42) saturate(1.2);z-index:0}
#screen-home.active::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,transparent 50%,rgba(0,0,0,.62));z-index:2;pointer-events:none}
#screen-home .home-bg{background:url("./assets/home_cover_v2.png") center center/contain no-repeat;filter:none;z-index:1;animation:homeFade .9s ease both}
@keyframes homeFade{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}
#screen-home .logo-wrap,#screen-home .home-copy,#screen-home .home-hint,#screen-home .home-bottom{display:none!important}
#screen-home #startBtn{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;padding:0;opacity:0;background:none;border:none;z-index:3;cursor:pointer}
#screen-home #startBtn:active{background:rgba(255,200,90,.06)}

/* 隱藏翻面提示 */
#screen-game .flip-alert{display:none!important}
/* 遊戲提示訊息改到烤網上方（原翻面提示位置） */
body:has(#screen-game.active) .toast{bottom:auto;top:28%}
/* 再來一次：左下角圖片按鈕（重新開始遊戲） */
#screen-game #restartBtn{position:absolute;left:3%;top:87.6%;width:24.5%;aspect-ratio:1366/606;background:url("./assets/btn_restart.png") center/contain no-repeat;border:none;box-shadow:none;color:transparent;font-size:0;padding:0;margin:0;z-index:4;cursor:pointer;-webkit-tap-highlight-color:transparent}
#screen-game #restartBtn:active{transform:translateY(2px)}
/* 背景音樂開關按鈕 */
.mute-btn{position:fixed;top:14px;right:14px;z-index:9999;width:42px;height:42px;border-radius:50%;border:1px solid rgba(231,181,83,.55);background:rgba(10,6,3,.72);color:#ffd98c;font-size:19px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}
.mute-btn:active{transform:scale(.92)}
body:has(#screen-game.active) .mute-btn{display:flex}
