/* Hay Maze Runner — scoped under #maze (plus the print-only #print-maze) */
#maze canvas{max-width:640px;aspect-ratio:1/1;height:auto;background:#4f8a34;touch-action:none;cursor:pointer;outline:none}
#maze canvas:focus-visible{box-shadow:0 0 0 3px var(--primary)}
#maze .gbar .maze-sep{width:1px;align-self:stretch;background:var(--line);margin:0 4px}
#maze .maze-pad{display:grid;grid-template-columns:repeat(3,64px);grid-template-rows:repeat(3,56px);gap:6px;justify-content:center;margin:14px auto 0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#maze .maze-pad button{border:2px solid var(--line);background:var(--bg);color:var(--ink);border-radius:14px;font-size:1.5rem;line-height:1;cursor:pointer;touch-action:none;box-shadow:0 3px 0 rgba(0,0,0,.18);font-family:var(--body);padding:0;-webkit-tap-highlight-color:transparent}
#maze .maze-pad button:hover{border-color:var(--primary)}
#maze .maze-pad button.held,#maze .maze-pad button:active{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(2px);box-shadow:none}
#maze .maze-pad .up{grid-column:2;grid-row:1}
#maze .maze-pad .left{grid-column:1;grid-row:2}
#maze .maze-pad .right{grid-column:3;grid-row:2}
#maze .maze-pad .down{grid-column:2;grid-row:3}
#maze .maze-pad .mid{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center;font-size:1.6rem}
#maze .actions{justify-content:center}
@media (max-width:420px){#maze .maze-pad{grid-template-columns:repeat(3,72px);grid-template-rows:repeat(3,60px)}}

/* ---- printing ---- */
#print-maze{display:none}
@media print{
  body.printing-maze{background:#fff !important;color:#000 !important}
  body.printing-maze > *:not(#print-maze){display:none !important}
  /* !important + higher specificity: patch.css has a site-wide body>*:not(#print-sheets){display:none!important} print rule */
  body.printing-maze > #print-maze{display:block !important}
  @page{size:letter portrait;margin:.4in}
  #print-maze{font-family:Nunito,Arial,sans-serif;color:#000;background:#fff}
  #print-maze .pm-page{height:10.1in;display:flex;flex-direction:column;page-break-after:always;break-after:page;overflow:hidden}
  #print-maze .pm-page:last-child{page-break-after:auto;break-after:auto}
  #print-maze .pm-head{text-align:center;margin-bottom:.08in}
  #print-maze .pm-head h1{font-family:'Lilita One',Arial,sans-serif;font-weight:400;font-size:28pt;margin:0;color:#000}
  #print-maze .pm-head p{margin:.04in 0 0;font-size:11.5pt;color:#000}
  #print-maze .pm-maze{display:block;flex:1 1 auto;min-height:0;width:100%;height:7.4in;margin:0 auto}
  #print-maze .pm-foot{position:relative;display:flex;align-items:center;gap:.22in;border-top:2px solid #000;padding:.12in .8in 0 0;margin-top:.1in;flex:0 0 auto}
  #print-maze .pm-logo{height:1.1in;width:auto;display:block}
  #print-maze .pm-info{display:flex;flex-direction:column;font-size:10.5pt;line-height:1.35;color:#000}
  #print-maze .pm-info strong{font-family:'Lilita One',Arial,sans-serif;font-weight:400;font-size:15pt}
  #print-maze .pm-wagon{position:absolute;right:0;bottom:0;height:.6in;width:auto}
}
