#touch-preview{font-size:10px;padding:6px 9px;margin-top:8px}
#touch-preview[hidden]{display:none}
.touch-guide,.touch-charge,#frog-touch{display:none}
body.touch-mode{--touch-height:100svh;overscroll-behavior-y:none}
@supports(height:100dvh){body.touch-mode{--touch-height:100dvh}}
body.touch-mode .cabinet{max-width:760px;padding:10px max(8px,env(safe-area-inset-left)) calc(175px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))}
body.touch-mode .mast{margin:0 auto 8px;max-width:540px;min-height:40px}
body.touch-mode .mast h1{font-size:24px}
body.touch-mode .mast .eyebrow{font-size:8px;margin-bottom:4px}
body.touch-mode .edition{font-size:10px}
body.touch-mode .edition small{font-size:9px;margin-top:3px}
body.touch-mode .layout{display:flex;flex-direction:column;gap:10px;align-items:center}
body.touch-mode .machine{width:min(100%,max(170px,calc((var(--touch-height) - 300px - env(safe-area-inset-bottom))*.6667 + 14px)));max-width:520px;padding:6px;margin:0 auto}
body.touch-mode .machine{container-type:inline-size}
body.touch-mode .display{padding:7px 9px;gap:5px}
body.touch-mode .display span{font-size:8px;margin-bottom:2px}
body.touch-mode .display strong{font-size:clamp(11px,4.8cqw,18px);line-height:20px}
body.touch-mode .display #lives{font-size:clamp(8px,3.4cqw,12px);line-height:20px;white-space:nowrap}
body.touch-mode .overlay h2{font-size:clamp(20px,10cqw,38px);margin:16px 0 8px}
body.touch-mode .overlay p{font-size:11px;margin:7px 0}
body.touch-mode .stamp{padding:5px 9px;font-size:9px}
body.touch-mode .primary{margin-top:9px;padding:12px 16px;min-width:150px}
body.touch-mode #frog-touch{display:block;position:absolute;top:1%;left:50%;transform:translateX(-50%);width:23%;height:auto;pointer-events:none;filter:drop-shadow(0 4px 5px #0008)}
body.touch-mode .touch-controls{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,560px);margin:0;grid-template-columns:1fr 1.05fr 1fr;gap:7px;padding:8px max(10px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#0c1918f7;border:1px solid #586246;border-bottom:0;border-radius:14px 14px 0 0;box-shadow:0 -8px 30px #0008;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
body.touch-mode .touch-guide{display:block;grid-column:1/-1;margin:0;min-height:16px;line-height:16px;text-align:center;font-size:10px;color:#b6c4a1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.touch-mode .touch-controls>.flipper-control,body.touch-mode .touch-controls>.launch-control{min-height:68px;font-size:23px;border-radius:9px}
body.touch-mode .touch-controls .flipper-control span{font-size:13px}
body.touch-mode .flipper-control kbd{display:none}
body.touch-mode .launch-control{font-size:13px!important;position:relative;overflow:hidden}
body.touch-mode .launch-control small{font-size:10px}
body.touch-mode .touch-charge{display:block;position:absolute;bottom:0;left:0;right:0;height:5px;background:#111c15}
body.touch-mode .touch-charge b{display:block;background:#e8d383;height:100%;width:0}
body.touch-mode .touch-controls .mobile-actions{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-column:1/-1;gap:7px}
body.touch-mode .touch-controls .mobile-actions button{min-height:44px;font-size:11px;line-height:1.3;border-radius:7px;padding:4px}
body.touch-mode .console{width:min(100%,520px);grid-template-columns:1fr 1fr;gap:8px}
body.touch-mode .observer{grid-row:span 2}
body.touch-mode .observer .panel-head{padding:10px;font-size:9px}
body.touch-mode .observer p{font-size:10px;padding:0 8px 12px}
body.touch-mode #frog{margin:0 0 -15px}
body.touch-mode .status-panel{padding:12px}
body.touch-mode .status-panel h2{font-size:13px}
body.touch-mode #hint{font-size:10px;min-height:30px;margin:8px 0}
body.touch-mode .ability{padding:10px}
body.touch-mode .toolbar,body.touch-mode .rules,body.touch-mode footer{grid-column:1/-1}
body.touch-mode .toolbar{grid-template-columns:repeat(4,1fr)}
body.touch-mode .toolbar button{font-size:10px;min-height:44px;padding:6px 3px}
body.touch-mode .table-caption{bottom:10px;left:12px;right:12px;font-size:9px}
@media(orientation:landscape) and (max-height:550px){
  body.touch-mode .mast{display:none}
  body.touch-mode .mast h1{font-size:18px}
  body.touch-mode .mast .eyebrow,body.touch-mode .edition small{display:none}
  body.touch-mode .machine{width:max(150px,calc((var(--touch-height) - 130px)*.6667 + 14px));margin-top:0}
  body.touch-mode .console{display:none}
  body.touch-mode .touch-controls{width:100%;max-width:none;top:54px;bottom:0;padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:transparent;border:0;border-radius:0;box-shadow:none;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:18px 1fr 44px;column-gap:max(190px,36vw);pointer-events:none;transform:none;left:0}
  body.touch-mode .touch-guide{position:fixed;top:14px;left:max(12px,env(safe-area-inset-left));width:calc((100vw - max(190px,36vw) - 36px)/2);background:#0c1918dd;padding:0 4px;border-radius:4px;font-size:9px}
  body.touch-mode .touch-controls>button,body.touch-mode .touch-controls .mobile-actions{pointer-events:auto}
  body.touch-mode .touch-controls>.flipper-control{grid-row:2;background:#13231fe8}
  body.touch-mode #left{grid-column:1}
  body.touch-mode #right{grid-column:2}
  body.touch-mode #launch{position:fixed;bottom:calc(8px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max(150px,20vw);min-height:44px;font-size:11px!important;pointer-events:auto}
  body.touch-mode #launch small{display:none}
  body.touch-mode .touch-controls .mobile-actions{grid-column:1/-1;grid-row:3;display:flex;gap:max(5px,1vw);pointer-events:none}
  body.touch-mode .mobile-actions button{width:calc((100vw - max(190px,36vw) - 36px)/2);flex:none;pointer-events:auto;background:#13231f}
  body.touch-mode #nudge-mobile{margin-left:auto}
  body.touch-mode #pause-mobile{position:absolute;top:-44px;right:12px;min-height:32px;width:120px}
}
