:root{
  --bg:#191411;
  --panel:#35251d;
  --panel-2:#4b3427;
  --ink:#241711;
  --cream:#ffe8bd;
  --text:#fff6df;
  --muted:#d8b987;
  --gold:#ffc85b;
  --berry:#b85f75;
  --leaf:#7fa66a;
  --sky:#78a7b8;
  --danger:#df7665;
  --line:rgba(255,232,189,.18);
  --shadow:rgba(0,0,0,.44);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:ui-rounded,"Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;overflow:hidden;overscroll-behavior:none}
button{font:inherit;color:inherit}
button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
h1,h2,h3,p{margin-top:0}
h1{margin-bottom:8px;font-size:48px;line-height:1;text-shadow:0 3px 0 rgba(0,0,0,.24)}
h2{letter-spacing:0}
.game-root{height:100dvh;min-height:100svh;display:grid;grid-template-columns:minmax(320px,42vw) 1fr;overflow:hidden;background:#231a15}
.hero-panel{position:relative;overflow:hidden;min-height:0;border-right:4px solid var(--line)}
.hero-art{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.08) contrast(1.02)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(22,14,9,.56) 64%,rgba(22,14,9,.93))}
.title-card{position:absolute;left:24px;right:24px;top:24px;padding:18px;background:rgba(42,27,18,.82);border:2px solid rgba(255,232,189,.25);box-shadow:0 16px 40px var(--shadow);backdrop-filter:blur(4px)}
.title-card p:last-child{margin-bottom:0;color:var(--cream);line-height:1.45}
.eyebrow{margin:0 0 5px;color:var(--gold);letter-spacing:.12em;font-size:12px;text-transform:uppercase;font-weight:800}
.character-strip{position:absolute;left:18px;right:18px;bottom:18px;display:grid;gap:12px}
.mini-character{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;padding:10px;background:rgba(41,28,22,.86);border:2px solid rgba(255,232,189,.2);box-shadow:0 12px 28px var(--shadow)}
.mini-character img{width:70px;height:78px;object-fit:cover;border:2px solid rgba(255,232,189,.24);background:#2a1b16}
.mini-character strong{display:block;color:var(--gold);font-size:18px}
.mini-character span{display:block;color:var(--cream);font-size:13px;line-height:1.35}
.game-panel{min-width:0;display:flex;flex-direction:column;gap:12px;padding:18px;overflow:auto;scrollbar-width:none;padding-bottom:max(18px,env(safe-area-inset-bottom))}
.game-panel::-webkit-scrollbar{display:none}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px}
.topbar h2{margin:0;font-size:30px}
.save-status{margin:4px 0 0;color:var(--leaf);font-size:12px}
.ghost,.primary,.danger{min-height:44px;border:1px solid var(--line);padding:10px 14px;cursor:pointer;font-weight:800}
.ghost{background:rgba(255,255,255,.07)}
.ghost:hover{background:rgba(255,255,255,.13)}
.primary{background:var(--gold);color:var(--ink);border-color:#edb64f}
.danger{background:var(--danger);color:#24110e;border-color:#f59a87}
.cycle-brief{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 14px;background:#24332b;border-left:4px solid var(--leaf);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cycle-brief h3{margin:0;color:#d9f1c6;font-size:20px}
.cycle-brief>p{max-width:58%;margin:0;color:#c4dfd1;font-size:13px;line-height:1.4;text-align:right}
.resources{display:grid;grid-template-columns:repeat(7,minmax(68px,1fr));gap:8px}
.res{background:var(--panel-2);border:1px solid var(--line);padding:9px 11px;box-shadow:0 7px 0 rgba(0,0,0,.13)}
.res span{display:block;color:var(--muted);font-size:12px}
.res strong{font-size:22px;color:var(--cream)}
.lemon-resource.is-locked{display:none}
.goal-wrap{background:rgba(255,232,189,.08);border:1px solid var(--line);padding:10px 12px}
.goal-label{display:flex;justify-content:space-between;color:var(--cream);margin-bottom:8px}
.goal-meter{height:14px;background:#120e0c;border:1px solid var(--line);overflow:hidden}
.goal-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--berry),var(--gold));transition:width .3s ease}
.phase-card,.minigame-card,.upgrades,.logbook{background:rgba(53,37,29,.96);border:2px solid rgba(255,232,189,.14);padding:14px;box-shadow:0 16px 38px rgba(0,0,0,.2)}
.is-hidden{display:none!important}
.minigame-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.minigame-heading h3{margin:0;color:var(--gold);font-size:22px}
.minigame-heading>strong{color:#d9f1c6;background:#20362f;border:1px solid rgba(196,223,209,.28);padding:8px 10px;white-space:nowrap}
.minigame-instruction{margin:0 0 12px;color:var(--cream);line-height:1.45;border-left:4px solid var(--sky);padding:10px 12px;background:rgba(0,0,0,.16)}
.minigame-stage{min-width:0}
.service-layout{display:grid;gap:12px}
.customer-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.customer-card{min-width:0;background:#24332b;border:2px solid rgba(196,223,209,.22);padding:8px;display:flex;flex-direction:column;gap:8px}
.customer-order{display:grid;grid-template-columns:38px 54px 1fr;gap:6px;align-items:center;min-width:0}
.customer-order>img{width:38px;height:38px;object-fit:contain;image-rendering:pixelated}
.customer-order>img:nth-child(2){width:54px;height:54px}
.customer-order div{min-width:0}
.customer-order strong,.customer-order span{display:block}
.customer-order strong{color:var(--gold);font-size:13px;overflow-wrap:anywhere}
.customer-order span{color:var(--cream);font-size:11px;margin:3px 0}
.customer-order i{display:block;height:7px;background:var(--leaf);max-width:100%;transition:width .2s ease}
.serve-button{min-height:42px;border:0;background:var(--gold);color:var(--ink);font-weight:800;cursor:pointer}
.serve-button:disabled{opacity:.35;cursor:not-allowed}
.service-empty{grid-column:1/-1;margin:0;padding:18px;text-align:center;color:var(--muted);background:#20362f}
.service-stations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.service-station{min-width:0;background:#281c17;border:1px solid var(--line);padding:9px;display:flex;flex-direction:column;gap:8px}
.service-station>strong{color:var(--gold);font-size:14px}
.service-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.service-recipe{min-height:78px;border:1px solid var(--line);background:#563928;display:grid;place-items:center;padding:5px;cursor:pointer}
.service-recipe img{width:46px;height:46px;object-fit:contain;image-rendering:pixelated}
.service-recipe span{font-size:10px;line-height:1.25;color:var(--cream);overflow-wrap:anywhere}
.service-recipe-grid.compact{grid-template-columns:1fr}
.oven-load{min-height:38px;border:1px solid var(--line);background:#563928;padding:5px;font-size:11px;cursor:pointer}
.oven-load:disabled{opacity:.35;cursor:not-allowed}
.oven-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-height:82px}
.oven-slot{min-height:80px;border:2px solid var(--line);background:#443126;display:grid;place-items:center;padding:5px}
.oven-slot img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}
.oven-slot span{font-size:11px;color:var(--cream)}
.oven-slot.is-ready{border-color:var(--gold);cursor:pointer;animation:oven-ready .8s ease-in-out infinite alternate}
.oven-slot.is-empty{display:grid;place-items:center;color:var(--muted);background:#1c1714}
.ready-cakes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.ready-cakes div{display:flex;align-items:center;justify-content:center;gap:4px;background:#20362f;padding:5px}
.ready-cakes img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated}
.ready-cakes span{font-weight:800;color:var(--cream)}
.service-hud{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;font-size:11px;color:var(--cream)}
.service-hud span{background:rgba(255,255,255,.06);padding:5px}
.service-wait{margin-top:auto;width:100%}
.match-layout{display:grid;grid-template-columns:170px minmax(300px,520px);gap:12px;justify-content:center;align-items:start}
.match-sidebar{display:flex;flex-direction:column;gap:10px}
.match-goals{display:grid;gap:8px}
.match-goals>div{display:grid;grid-template-columns:58px 1fr;gap:8px;align-items:center;background:#24332b;border:1px solid rgba(196,223,209,.22);padding:7px}
.match-goals img{width:58px;height:58px;object-fit:contain;image-rendering:pixelated}
.match-goals strong,.match-goals small{display:block}
.match-goals strong{color:var(--gold);font-size:18px}.match-goals small{color:var(--cream);font-size:10px}
.match-stats{display:grid;gap:6px;color:var(--cream)}
.match-stats span{display:flex;justify-content:space-between;background:#281c17;border:1px solid var(--line);padding:7px}
.match-stats strong{color:var(--gold)}
.match-board{width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr);gap:4px;touch-action:none;background:#17261f;border:3px solid rgba(196,223,209,.28);padding:5px}
.match-tile{min-width:0;min-height:0;border:2px solid rgba(255,232,189,.13);background:#493125;padding:2px;cursor:pointer;overflow:hidden}
.match-tile:nth-child(2n){background:#3f3027}
.match-tile.is-selected{border-color:var(--gold);background:#695036;box-shadow:inset 0 0 0 2px rgba(255,200,91,.25)}
.match-tile img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none}
.match-shuffle{width:100%}
@keyframes oven-ready{from{background:#443126}to{background:#6a4b26}}
.mix-layout{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr);gap:12px}
.order-ticket{grid-column:1/-1;display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;background:#24332b;border:2px solid rgba(196,223,209,.22);padding:10px}
.order-ticket>img{width:76px;height:76px;object-fit:contain;image-rendering:pixelated}
.order-ticket strong,.order-ticket span,.order-ticket small{display:block}
.order-ticket strong{color:var(--gold);font-size:18px;margin-bottom:4px}
.order-ticket span{color:var(--cream);line-height:1.4}
.order-ticket small{color:var(--muted);margin-top:5px}
.ingredient-rack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ingredient-button{min-height:112px;border:2px solid var(--line);background:#563928;display:grid;place-items:center;padding:8px;cursor:pointer}
.ingredient-button:hover{background:#67442f}
.ingredient-button img{width:70px;height:70px;object-fit:contain;image-rendering:pixelated}
.ingredient-button span{color:var(--cream);font-weight:800}
.mix-bowl{min-height:232px;border:3px dashed rgba(255,200,91,.46);background:#20362f;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.mix-bowl>strong{color:var(--gold);font-size:19px}
.bowl-contents{width:100%;min-height:112px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;background:rgba(0,0,0,.16);padding:10px}
.bowl-contents>span{color:var(--muted)}
.bowl-contents img{width:62px;height:62px;object-fit:contain;image-rendering:pixelated}
.minigame-controls{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.minigame-controls button:disabled{opacity:.45;cursor:not-allowed}
.station-sequence{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}
.station-sequence::-webkit-scrollbar{display:none}
.sequence-item{flex:0 0 88px;min-height:90px;display:grid;place-items:center;background:#281c17;border:2px solid var(--line);padding:6px;opacity:.65}
.sequence-item.is-current{opacity:1;border-color:var(--gold);background:#4d3525}
.sequence-item.is-done{opacity:1;border-color:var(--leaf);background:#20362f}
.sequence-item img{width:52px;height:52px;object-fit:contain;image-rendering:pixelated}
.sequence-item span{font-size:11px;color:var(--cream)}
.kitchen-board{width:min(100%,560px);aspect-ratio:4/3;margin:4px auto 10px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);border:3px solid rgba(255,232,189,.22);background:#1c2c27}
.kitchen-cell{position:relative;min-width:0;display:grid;place-items:center;border:1px solid rgba(255,232,189,.12);overflow:hidden}
.kitchen-cell.has-station{background:#443126}
.kitchen-cell>img:not(.max-token){width:58%;height:58%;object-fit:contain;image-rendering:pixelated;opacity:.86}
.kitchen-cell>span{position:absolute;left:3px;right:3px;bottom:3px;text-align:center;font-size:10px;color:var(--cream);background:rgba(22,14,9,.78);padding:2px}
.max-token{position:absolute;z-index:2;width:58%!important;height:70%!important;object-fit:cover!important;image-rendering:pixelated;border:3px solid var(--gold);box-shadow:0 0 0 2px rgba(0,0,0,.35)}
.kitchen-hud{display:flex;justify-content:space-between;gap:12px;color:var(--cream);margin:8px auto;width:min(100%,560px)}
.kitchen-hud strong{color:var(--gold)}
.dpad{width:220px;margin:8px auto 0;display:grid;grid-template-columns:repeat(3,64px);grid-template-rows:repeat(3,48px);justify-content:center;gap:5px;touch-action:manipulation}
.dpad button{border:1px solid var(--line);background:#563928;min-width:48px;min-height:44px;font-weight:800;cursor:pointer}
.dpad button:disabled{opacity:.45;cursor:not-allowed}
.dpad-up{grid-column:2;grid-row:1}.dpad-left{grid-column:1;grid-row:2}.dpad-action{grid-column:2;grid-row:2;background:var(--gold)!important;color:var(--ink)}.dpad-right{grid-column:3;grid-row:2}.dpad-down{grid-column:2;grid-row:3}
.cupcake-tray{background:#24332b;border:2px solid rgba(196,223,209,.22);padding:12px;text-align:center}
.cupcake-tray>strong{display:block;color:var(--gold);font-size:18px;margin-bottom:8px}
.tray-images{min-height:88px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px}
.tray-images img{width:62px;height:62px;object-fit:contain;image-rendering:pixelated}
.allocation-targets{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.allocation-target{min-height:142px;display:grid;grid-template-columns:92px 1fr;align-items:center;text-align:left;border:2px solid var(--line);padding:10px;cursor:pointer}
.allocation-target:disabled{opacity:.45;cursor:not-allowed}
.community-target{background:#274333}.auction-target{background:#533426}
.allocation-target img{width:88px;height:88px;object-fit:contain;image-rendering:pixelated}
.allocation-target strong,.allocation-target small{display:block}
.allocation-target strong{color:var(--gold);font-size:18px}.allocation-target small{color:var(--cream);margin-top:5px}
.scene-note{color:var(--cream);line-height:1.55;margin-bottom:12px;background:rgba(0,0,0,.16);padding:12px;border-left:4px solid var(--gold)}
.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.action{min-height:126px;display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:center;text-align:left;background:#563928;border:2px solid rgba(255,232,189,.2);padding:10px;cursor:pointer;transition:transform .15s ease,background .15s ease}
.action:hover{transform:translateY(-2px);background:#67442f}
.action:disabled{cursor:not-allowed;opacity:.48;transform:none}
.action-icon{width:64px;height:64px;object-fit:contain;image-rendering:pixelated;background:rgba(18,13,11,.23);border:1px solid var(--line)}
.action-copy{min-width:0}
.action strong{display:block;font-size:16px;color:var(--gold);margin-bottom:5px}
.action span{display:block;font-size:12px;color:var(--cream);line-height:1.35}
.action small{display:block;color:var(--muted);margin-top:7px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.section-heading h3{margin:0;color:var(--gold)}
.section-heading span{color:var(--muted);font-size:12px}
.renovation-note{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.upgrade-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.upgrade{background:#281c17;border:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:8px;min-height:132px}
.renovation-route{min-height:328px;border-top:4px solid var(--gold)}
.renovation-route.route-service{border-top-color:var(--berry)}
.renovation-route.route-supply{border-top-color:var(--leaf)}
.upgrade.is-owned{border-color:rgba(168,217,145,.5);background:#20362f}
.renovation-heading{display:grid;grid-template-columns:58px 1fr;gap:9px;align-items:center}
.renovation-icon{width:58px;height:58px;object-fit:contain;image-rendering:pixelated;background:rgba(0,0,0,.16);border:1px solid var(--line)}
.renovation-heading strong,.renovation-heading small{display:block}
.renovation-heading small{margin-top:4px;color:var(--gold);font-size:11px;font-weight:800}
.renovation-track{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.renovation-track i{height:9px;background:#17110e;border:1px solid var(--line)}
.renovation-track i.is-active{background:var(--gold);border-color:#edb64f}
.route-service .renovation-track i.is-active{background:var(--berry);border-color:#d1798d}
.route-supply .renovation-track i.is-active{background:var(--leaf);border-color:#9fc389}
.renovation-effect{padding:8px;background:rgba(0,0,0,.16);border-left:3px solid var(--line)}
.renovation-effect small,.renovation-effect span{display:block}
.renovation-effect small{color:var(--gold);font-size:10px;font-weight:800;margin-bottom:4px}
.renovation-effect span{font-size:12px;line-height:1.45;color:var(--cream)}
.next-effect{border-left-color:var(--sky)}
.renovation-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}
.renovation-footer>span{font-size:11px;color:var(--muted)}
.upgrade strong{color:var(--cream)}
.upgrade span{font-size:13px;line-height:1.4;color:var(--muted)}
.upgrade button,.renovation-buy{margin-top:auto;background:var(--leaf);border:0;min-height:44px;padding:9px;cursor:pointer;font-weight:800;color:#14200f}
.upgrade button:disabled{background:#6e6252;color:#cdbb98;cursor:not-allowed}
.owned{color:#a8d991!important;font-weight:800}
.logbook{min-height:100px}
.logbook ol{margin:0;padding-left:20px;color:var(--cream);line-height:1.5}
.logbook li::marker{color:var(--gold)}
.game-root dialog{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;border:2px solid rgba(255,232,189,.26);background:#2d1f19;color:var(--text);box-shadow:0 32px 80px rgba(0,0,0,.6);padding:22px;border-radius:0}
.game-root dialog::backdrop{background:rgba(12,8,6,.78)}
.feedback-layout{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center}
.feedback-art{height:180px;display:grid;place-items:center;background:#20362f;border:2px solid rgba(196,223,209,.22)}
.feedback-art img{width:160px;height:160px;object-fit:contain;image-rendering:pixelated;animation:item-pop .28s ease-out}
.feedback-dialog h2,.result-dialog h2,.story-dialog h2,.reset-dialog h2{margin-bottom:10px;font-size:28px}
.feedback-dialog>.primary,.result-dialog>.primary{width:100%;margin-top:16px}
.delta-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.delta{padding:6px 9px;background:#15231e;border:1px solid rgba(168,217,145,.35);color:#bce3aa;font-weight:800;font-size:13px}
.delta.negative{background:#301b19;border-color:rgba(223,118,101,.38);color:#f5a996}
.character-quote{margin:0;padding:10px;border-left:3px solid var(--berry);color:var(--cream);font-style:italic;line-height:1.4}
.dialog-art{text-align:center}
.dialog-art img{width:138px;height:138px;object-fit:contain;image-rendering:pixelated}
.story-heading{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:16px;margin-bottom:14px}
.story-heading img{width:120px;height:120px;object-fit:contain;image-rendering:pixelated;background:#20362f;border:1px solid rgba(196,223,209,.28)}
.story-heading h2{margin:0}
.story-dialog>p{color:var(--cream);line-height:1.6}
.story-choices{display:grid;gap:10px;margin-top:16px}
.story-choice{min-height:76px;text-align:left;background:#493125;border:2px solid var(--line);padding:12px;cursor:pointer}
.story-choice:hover{background:#5a3b2a}
.story-choice strong{display:block;color:var(--gold);font-size:16px;margin-bottom:4px}
.story-choice span{display:block;color:var(--cream);font-size:13px;line-height:1.4}
.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
@keyframes item-pop{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.08);opacity:1}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.feedback-art img{animation:none}.action{transition:none}}
@media (max-width:1120px){.resources{grid-template-columns:repeat(4,1fr)}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .game-root{grid-template-columns:1fr;grid-template-rows:34svh 1fr}
  .hero-panel{border-right:0;border-bottom:3px solid var(--line)}
  .title-card{top:10px;left:12px;right:12px;padding:10px 12px}
  .title-card h1{font-size:30px}
  .title-card p:last-child{font-size:13px}
  .character-strip{grid-template-columns:1fr 1fr;left:10px;right:10px;bottom:8px;gap:8px}
  .mini-character{grid-template-columns:48px 1fr;padding:6px;gap:8px}
  .mini-character img{width:48px;height:52px}
  .mini-character strong{font-size:15px}
  .mini-character span{font-size:11px}
  .game-panel{padding:10px;gap:10px}
  .topbar h2{font-size:22px}
  .cycle-brief{align-items:flex-start}
  .cycle-brief>p{max-width:54%;font-size:12px}
  .resources{grid-template-columns:repeat(4,1fr)}
  .res{padding:8px}
  .res strong{font-size:19px}
  .action-grid{grid-template-columns:1fr}
  .action{min-height:92px;grid-template-columns:58px 1fr}
  .action-icon{width:58px;height:58px}
  .upgrade-list{grid-template-columns:1fr}
  .renovation-route{min-height:auto}
  .customer-line{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-stations{grid-template-columns:1fr}
  .service-station{min-height:auto}
  .service-recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .service-recipe-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .match-layout{grid-template-columns:140px minmax(280px,1fr)}
  .mix-layout{grid-template-columns:1fr}
  .order-ticket,.minigame-controls{grid-column:1}
  .ingredient-rack{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ingredient-button{min-height:90px}
  .ingredient-button img{width:54px;height:54px}
  .mix-bowl{min-height:180px}
  .allocation-target{grid-template-columns:72px 1fr;min-height:112px}
  .allocation-target img{width:68px;height:68px}
  .feedback-layout{grid-template-columns:120px 1fr;gap:12px}
  .feedback-art{height:120px}
  .feedback-art img{width:108px;height:108px}
}
@media (max-width:520px){
  .resources{grid-template-columns:repeat(3,1fr)}
  .cycle-brief{display:block}
  .cycle-brief>p{max-width:none;text-align:left;margin-top:6px}
  .feedback-layout{grid-template-columns:1fr;text-align:center}
  .feedback-art{height:130px}
  .character-quote{text-align:left}
  .story-heading{grid-template-columns:86px 1fr}
  .story-heading img{width:86px;height:86px}
  .feedback-dialog h2,.result-dialog h2,.story-dialog h2,.reset-dialog h2{font-size:23px}
  .minigame-heading{align-items:flex-start}
  .minigame-heading h3{font-size:19px}
  .minigame-heading>strong{font-size:12px;white-space:normal;text-align:right}
  .customer-line{grid-template-columns:1fr}
  .customer-order{grid-template-columns:34px 48px 1fr}
  .service-stations{grid-template-columns:1fr}
  .service-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-recipe{min-height:84px}
  .match-layout{grid-template-columns:1fr}
  .match-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .match-goals{grid-template-columns:1fr 1fr;grid-column:1/-1}
  .match-goals>div{grid-template-columns:46px 1fr}
  .match-goals img{width:46px;height:46px}
  .match-stats{grid-template-columns:repeat(3,1fr);grid-column:1/-1}
  .match-stats span{display:block;text-align:center;font-size:10px}
  .match-stats strong{display:block;font-size:15px}
  .match-shuffle{grid-column:1/-1}
  .match-board{width:100%;max-width:420px;margin:auto;gap:3px;padding:4px}
  .match-tile{min-height:46px}
  .ingredient-rack{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ingredient-button{min-height:98px}
  .bowl-contents img{width:50px;height:50px}
  .kitchen-board{width:100%;max-height:260px}
  .sequence-item{flex-basis:74px;min-height:80px}
  .sequence-item img{width:44px;height:44px}
  .kitchen-hud{font-size:12px}
  .allocation-targets{grid-template-columns:1fr}
  .allocation-target{min-height:98px}
  .tray-images img{width:48px;height:48px}
  .minigame-controls{display:grid;grid-template-columns:1fr 1fr}
  .minigame-controls .primary{grid-column:1/-1}
}
@media (max-height:520px) and (orientation:landscape){
  .game-root{grid-template-columns:36vw 1fr;grid-template-rows:1fr}
  .hero-panel{border-bottom:0;border-right:3px solid var(--line)}
  .title-card h1{font-size:24px}
  .character-strip{grid-template-columns:1fr}
  .resources{grid-template-columns:repeat(7,1fr)}
  .action-grid{grid-template-columns:repeat(3,1fr)}
  .action{min-height:82px;grid-template-columns:46px 1fr}
  .action-icon{width:46px;height:46px}
  .upgrade-list{grid-template-columns:repeat(3,1fr)}
  .renovation-route{min-height:300px}
  .renovation-heading{grid-template-columns:44px 1fr}
  .renovation-icon{width:44px;height:44px}
  .renovation-effect span{font-size:11px}
  .minigame-card{padding:10px}
  .minigame-instruction{font-size:12px;padding:8px}
  .customer-line{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-stations{grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-recipe{min-height:68px}
  .service-recipe img{width:36px;height:36px}
  .match-layout{grid-template-columns:130px minmax(260px,390px)}
  .match-goals img{width:42px;height:42px}
  .match-goals>div{grid-template-columns:42px 1fr;padding:4px}
  .match-board{max-height:330px}
  .mix-layout{grid-template-columns:220px minmax(260px,1fr)}
  .ingredient-button{min-height:78px;grid-template-columns:46px 1fr}
  .ingredient-button img{width:46px;height:46px}
  .mix-bowl{min-height:170px}
  .kitchen-board{max-width:420px}
  .dpad{margin-top:2px;grid-template-rows:repeat(3,42px)}
  .allocation-target{min-height:88px;grid-template-columns:58px 1fr}
  .allocation-target img{width:54px;height:54px}
}
