/* IATPM's shared counter: a pizza wheel and named actions, in every kitchen. */
.arcade-page .iatpm-pad{
 --pad-paper:#fff1d3;--pad-ink:#273d31;--pad-sauce:#a93625;--pad-crust:#d9ba83;
 --pad-size:132px;--pad-key:44px;
 display:grid;grid-template-columns:var(--pad-size) minmax(96px,144px);align-items:center;justify-content:space-between;
 gap:12px 22px;min-height:156px;padding:11px 20px;box-sizing:border-box;
 background:var(--pad-paper);color:var(--pad-ink);border-top:2px solid var(--pad-ink);
 touch-action:pan-y;flex:none;
}
.arcade-page .iatpm-pad-wheel{
 position:relative;display:grid;grid-template-columns:repeat(3,var(--pad-key));grid-template-rows:repeat(3,var(--pad-key));
 width:var(--pad-size);height:var(--pad-size);border-radius:50%;
 background:radial-gradient(circle,#eac891 0 28%,transparent 29%),conic-gradient(from 45deg,#ebd7b1 0 25%,#f4e2bd 0 50%,#ebd7b1 0 75%,#f4e2bd 0);
 box-shadow:inset 0 0 0 1px #273d3126;
}
.arcade-page .iatpm-pad .iatpm-pad-direction{
 display:grid;place-items:center;width:var(--pad-key);height:var(--pad-key);min-width:44px;min-height:44px;
 margin:0;padding:0;border:1px solid #273d3150;border-bottom:3px solid #273d3160;border-radius:50%;
 background:var(--pad-ink);color:#fff1d3;font:700 24px/1 var(--body);box-shadow:none;
 cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
}
.iatpm-pad [data-pad-direction=up]{grid-column:2;grid-row:1}
.iatpm-pad [data-pad-direction=left]{grid-column:1;grid-row:2}
.iatpm-pad [data-pad-direction=right]{grid-column:3;grid-row:2}
.iatpm-pad [data-pad-direction=down]{grid-column:2;grid-row:3}
.arcade-page .iatpm-pad-mark{position:absolute;inset:0;margin:auto;width:29px;height:32px;pointer-events:none}
.arcade-page .iatpm-pad-actions{display:grid;gap:9px;min-width:0;width:100%;align-content:center}
.arcade-page .iatpm-pad[data-pad-game] .iatpm-pad-action{
 display:flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;min-width:0;width:100%;min-height:52px;
 margin:0;padding:8px 10px;background:#f8dfaa;color:var(--pad-ink);border:1px solid #273d3180;border-bottom:3px solid #273d3160;
 border-radius:15px;box-shadow:none;font:700 12px/1.25 var(--body);letter-spacing:.3px;
 cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
}
.arcade-page .iatpm-pad .iatpm-pad-action[data-pad-primary]{background:var(--pad-sauce);color:#fff5df;border-color:#7e291c}
.arcade-page .iatpm-pad .iatpm-pad-action b{font:normal 25px/1 var(--body)}
.arcade-page .iatpm-pad .iatpm-pad-action span{font:inherit;margin:0;opacity:1}
.arcade-page .iatpm-pad .iatpm-pad-action .icon{width:22px;height:22px;flex:none}
.arcade-page .iatpm-pad button:is(:active,.is-held):not(:disabled){transform:translateY(2px);filter:brightness(1.18);border-bottom-width:1px}
.arcade-page .iatpm-pad button:focus-visible{outline:3px solid var(--pad-sauce);outline-offset:3px}
.arcade-page .iatpm-pad button:disabled{opacity:.42;cursor:default}
.arcade-page .iatpm-pad-extras{grid-column:2;display:flex;justify-content:center;gap:6px;margin-top:0}
.arcade-page .iatpm-pad-extras button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:44px;min-height:44px;padding:4px 3px;border:1px solid #273d3150;border-radius:8px;background:transparent;color:var(--pad-ink);font:700 11px/1.2 var(--body);white-space:nowrap;cursor:pointer;touch-action:manipulation}
.arcade-page .iatpm-pad-extras button b{font:normal 16px/1 var(--body)}
.arcade-page .iatpm-pad-extras kbd{display:none}
.arcade-page .iatpm-pad[data-pad-game=quest]{grid-template-rows:88px 44px;row-gap:0}
.arcade-page .iatpm-pad[data-pad-game=quest] .iatpm-pad-wheel{grid-row:1/3;align-self:center}
.arcade-page .iatpm-pad[data-pad-game=quest] .iatpm-pad-actions{grid-column:2;grid-row:1}
:root[data-theme=dark] .iatpm-pad{--pad-paper:#26382f;--pad-ink:#fff0cd;--pad-crust:#9a7546}
:root[data-theme=dark] .iatpm-pad-wheel{background:radial-gradient(circle,#d9aa68 0 28%,transparent 29%),conic-gradient(from 45deg,#46533d 0 25%,#3b4936 0 50%,#46533d 0 75%,#3b4936 0)}
:root[data-theme=dark] .arcade-page .iatpm-pad .iatpm-pad-direction{background:#e7c78d;color:#26382f;border-color:#16291d}
:root[data-theme=dark] .arcade-page .iatpm-pad .iatpm-pad-action:not([data-pad-primary]){background:#415238;border-color:#b4bd9e}
html:lang(zh) .arcade-page .iatpm-pad .iatpm-pad-action{font-size:15px;letter-spacing:0}
html:lang(zh) .arcade-page .iatpm-pad-extras button{font-size:13px}
/* Fullscreen rows reserve the same real controller height in solo and duel. */
.arcade-page .tumble-cabinet.is-expanded{align-content:start;grid-template-rows:48px 84px minmax(0,min(133.333dvw,calc(100% - 316px))) 156px 28px!important}
.arcade-page .tumble-cabinet.is-expanded.is-duel{grid-template-rows:48px 84px 34px minmax(0,min(133.333dvw,calc(100% - 350px))) 156px 28px!important}
.arcade-page .tumble-cabinet.is-expanded .iatpm-pad{padding-block:11px}
.arcade-page .quest-machine.is-expanded{align-content:start;grid-template-rows:48px 54px 28px minmax(0,min(100dvw,calc(100% - 318px))) 156px 32px}
.arcade-page .quest-machine.is-expanded .iatpm-pad{padding-block:11px}
.arcade-page .tumble-cabinet.is-expanded .tumble-screen,.arcade-page .oven-cabinet.is-expanded .oven-screen,.arcade-page .quest-machine.is-expanded .quest-stage{align-items:flex-start}
@media(max-width:520px){
 .arcade-page .iatpm-pad{padding-inline:12px;column-gap:14px;grid-template-columns:132px minmax(96px,132px)}
}
/* Preserve usable boards on short phones; targets stay at least 44px. */
@media(max-height:600px) and (orientation:portrait){
 .arcade-page .tumble-cabinet.is-expanded{grid-template-rows:44px 74px minmax(0,min(133.333dvw,calc(100% - 266px))) 148px 0!important}
 .arcade-page .tumble-cabinet.is-expanded.is-duel{grid-template-rows:44px 74px 30px minmax(0,min(133.333dvw,calc(100% - 296px))) 148px 0!important}
 .arcade-page .tumble-cabinet.is-expanded .tumble-statusbar{display:none}
 .arcade-page .tumble-cabinet.is-expanded .iatpm-pad,.arcade-page .oven-cabinet.is-expanded .iatpm-pad{min-height:144px;padding-block:5px}
 .arcade-page .tumble-cabinet.is-expanded .iatpm-pad{min-height:148px;padding-block:8px}
 .arcade-page .tumble-cabinet.is-expanded .iatpm-pad-actions{gap:6px}
 .arcade-page .tumble-cabinet.is-expanded .iatpm-pad-action{min-height:44px;padding-block:4px}
 .arcade-page .quest-machine.is-expanded{grid-template-rows:44px 42px 24px minmax(0,min(100dvw,calc(100% - 254px))) 144px 0}
 .arcade-page .quest-machine.is-expanded .quest-status{display:none}
 .arcade-page .quest-machine.is-expanded .iatpm-pad{min-height:144px;grid-template-rows:88px 44px;row-gap:0;padding-block:5px}
 .arcade-page .quest-machine.is-expanded .iatpm-pad-actions{grid-template-columns:1fr;gap:4px}
 .arcade-page .quest-machine.is-expanded .iatpm-pad-action{min-height:44px;padding-block:4px}
}
@media(orientation:portrait){
 .arcade-page .oven-cabinet.is-expanded .oven-stage-wrap{flex:0 1 auto;width:100%;height:auto;aspect-ratio:13/11}
}
/* Landscape keeps the familiar left/right thumbs around the playfield. */
@media(orientation:landscape) and (max-height:600px){
 .arcade-page .tumble-cabinet.is-expanded{grid-template-columns:148px minmax(0,1fr) 148px;grid-template-rows:44px 48px minmax(0,1fr) 0!important}
 .arcade-page .tumble-cabinet.is-expanded .tumble-toolbar{grid-column:1/-1;grid-row:1}
 .arcade-page .tumble-cabinet.is-expanded .tumble-hud{grid-column:1/-1;grid-row:2}
 .arcade-page .tumble-cabinet.is-expanded .tumble-workspace{grid-column:2;grid-row:3;grid-template-columns:minmax(0,1fr)}
 .arcade-page .tumble-cabinet.is-expanded .tumble-statusbar{grid-column:1/-1;grid-row:4}
 .arcade-page .tumble-cabinet.is-expanded.is-duel{grid-template-rows:44px 48px 30px minmax(0,1fr) 0!important}
 .arcade-page .tumble-cabinet.is-expanded.is-duel .tumble-duelbar{grid-column:2;grid-row:3}
 .arcade-page .tumble-cabinet.is-expanded.is-duel .tumble-workspace{grid-row:4;grid-template-columns:minmax(0,1fr) minmax(0,.7fr)}
 .arcade-page .tumble-cabinet.is-expanded.is-duel .tumble-statusbar{grid-row:5}
 .arcade-page .tumble-cabinet.is-expanded .iatpm-pad{display:contents}
 .arcade-page .tumble-cabinet.is-expanded .iatpm-pad-wheel{grid-column:1;grid-row:2/4;align-self:center;justify-self:center}
 .arcade-page .tumble-cabinet.is-expanded .iatpm-pad-actions{grid-column:3;grid-row:2/4;align-self:center;padding:12px;width:100%;box-sizing:border-box}
 .arcade-page .tumble-cabinet.is-expanded.is-duel .iatpm-pad-wheel,.arcade-page .tumble-cabinet.is-expanded.is-duel .iatpm-pad-actions{grid-row:2/5}
 .arcade-page .oven-cabinet.is-expanded{padding-right:156px}
 .arcade-page .oven-cabinet.is-expanded .oven-toolbar{width:156px}
 .arcade-page .oven-cabinet.is-expanded .iatpm-pad{position:absolute;right:0;top:108px;bottom:0;width:156px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:6px;min-height:0}
 .arcade-page .oven-cabinet.is-expanded .iatpm-pad-actions{grid-template-columns:1fr 1fr;gap:5px}
 .arcade-page .oven-cabinet.is-expanded .iatpm-pad-action{min-height:44px;padding:4px;gap:3px;flex-direction:column;font-size:10px}
 .arcade-page .oven-cabinet.is-expanded .iatpm-pad-action b{font-size:19px}
 .arcade-page .quest-machine.is-expanded{grid-template-columns:100px minmax(0,1fr) 156px;grid-template-rows:44px minmax(0,1fr) 28px auto}
 .arcade-page .quest-machine.is-expanded .iatpm-pad{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:6px;min-height:0}
 .arcade-page .quest-machine.is-expanded .iatpm-pad-actions{display:flex;gap:5px}
 .arcade-page .quest-machine.is-expanded .iatpm-pad-action{min-height:44px;padding:4px;gap:3px;font-size:11px}
 .arcade-page .quest-machine.is-expanded .iatpm-pad-extras{margin:0}
}
@media(prefers-reduced-motion:reduce){.iatpm-pad *{transition:none!important}}

/* Full pizza-slice direction targets. The existing 44px arrow circles stay
   visible; each transparent clipped sector belongs to its real button too. */
.arcade-page .iatpm-pad .iatpm-pad-wheel{isolation:isolate;--pad-hit-height:132px}
.arcade-page .iatpm-pad .iatpm-pad-wheel>button.iatpm-pad-direction{position:relative;z-index:1;overflow:visible;transform:none!important}
.arcade-page .iatpm-pad .iatpm-pad-wheel>button.iatpm-pad-direction::before{
 content:'';position:absolute;left:calc(-1 * var(--pad-hit-x,0px) - 1px);top:calc(-1 * var(--pad-hit-y,0px) - 1px);
 width:132px;height:var(--pad-hit-height);z-index:0;background:transparent;pointer-events:auto;
 clip-path:var(--pad-hit-slice);touch-action:none;
}
.arcade-page .iatpm-pad .iatpm-pad-wheel>button.iatpm-pad-direction>b{position:relative;z-index:1;pointer-events:none}
.arcade-page .iatpm-pad .iatpm-pad-wheel>[data-pad-direction=up]{
 --pad-hit-x:44px;--pad-hit-y:0px;
 --pad-hit-slice:polygon(50% 50%,14.6447% 14.6447%,25% 6.6987%,37.059% 1.7037%,50% 0%,62.941% 1.7037%,75% 6.6987%,85.3553% 14.6447%);
}
.arcade-page .iatpm-pad .iatpm-pad-wheel>[data-pad-direction=right]{
 --pad-hit-x:88px;--pad-hit-y:44px;
 --pad-hit-slice:polygon(50% 50%,85.3553% 14.6447%,93.3013% 25%,98.2963% 37.059%,100% 50%,98.2963% 62.941%,93.3013% 75%,85.3553% 85.3553%);
}
.arcade-page .iatpm-pad .iatpm-pad-wheel>[data-pad-direction=down]{
 --pad-hit-x:44px;--pad-hit-y:88px;
 --pad-hit-slice:polygon(50% 50%,85.3553% 85.3553%,75% 93.3013%,62.941% 98.2963%,50% 100%,37.059% 98.2963%,25% 93.3013%,14.6447% 85.3553%);
}
.arcade-page .iatpm-pad .iatpm-pad-wheel>[data-pad-direction=left]{
 --pad-hit-x:0px;--pad-hit-y:44px;
 --pad-hit-slice:polygon(50% 50%,14.6447% 85.3553%,6.6987% 75%,1.7037% 62.941%,0% 50%,1.7037% 37.059%,6.6987% 25%,14.6447% 14.6447%);
}
.arcade-page .iatpm-pad .iatpm-pad-wheel>button.iatpm-pad-direction:is(:active,.is-held,.is-testing)::before{background:#a9362520}
.arcade-page .iatpm-pad .iatpm-pad-wheel>button.iatpm-pad-direction:is(:active,.is-held,.is-testing)>b{transform:translateY(1px)}
