/* 線上迷宮頁專用樣式；共用元件沿用 site.css */
.mz-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; max-width: 480px; margin: 0 auto; }
.mz-info { margin: 6px 0; text-align: center; font-size: 1.05rem; }
.mz-info strong { color: var(--brand-dark); font-variant-numeric: tabular-nums; }
.mz-sheet { max-width: 560px; margin: 8px auto; outline: none; touch-action: none; user-select: none; -webkit-user-select: none; }
.mz-sheet.won { touch-action: auto; }
.mz-sheet:focus { box-shadow: 0 0 0 3px #9fb8f6; border-radius: 4px; }
.mz-svg { display: block; width: 100%; height: auto; border: 3px solid var(--brand-dark); border-radius: 4px; background: #fff; box-sizing: border-box; }
.mz-walls { stroke: #1e293b; stroke-width: .14; stroke-linecap: square; }
.mz-trail { stroke: #fdba74; stroke-width: .34; stroke-linecap: round; stroke-linejoin: round; }
.mz-sol { display: none; stroke: #ef4444; stroke-width: .22; stroke-linecap: round; stroke-linejoin: round; }
.mz-svg.show-sol .mz-sol { display: inline; }
.mz-star { fill: #facc15; stroke: #a16207; stroke-width: .05; stroke-linejoin: round; }
.mz-label { fill: #475569; font-weight: 700; font-family: sans-serif; }
.mz-player { fill: #f97316; stroke: #fff; stroke-width: .07; }
.mz-ctl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; max-width: 560px; margin: 10px auto; }
.mz-ctl .btn { min-height: 50px; }
.mz-check { display: block; max-width: 560px; margin: 4px auto 8px; font-size: 1rem; }
.mz-check input { width: 20px; height: 20px; vertical-align: -4px; margin-right: 6px; }
.mz-pad { display: grid; grid-template-columns: repeat(3, 72px); grid-template-rows: repeat(2, 60px); gap: 6px; justify-content: center; margin: 12px auto; user-select: none; -webkit-user-select: none; }
.mz-pad .btn { min-height: 0; height: 100%; padding: 0; font-size: 1.6rem; touch-action: manipulation; }
.mz-pad .u { grid-column: 2; grid-row: 1; }
.mz-pad .l { grid-column: 1; grid-row: 2; }
.mz-pad .d { grid-column: 2; grid-row: 2; }
.mz-pad .r { grid-column: 3; grid-row: 2; }
@media (hover: hover) and (pointer: fine) { .mz-pad { display: none; } }

@media print {
  @page { size: A4 portrait; margin: 12mm; }
  html, body { background: #fff; }
  .site-header, .site-footer, .breadcrumb, .ad-card { display: none !important; }
  main.wrap > *:not(#mz) { display: none !important; }
  #mz { border: 0; padding: 0; margin: 0; background: none; }
  #mz .step > *:not(#mz-sheet) { display: none !important; }
  #mz-sheet { max-width: none; margin: 0 auto; box-shadow: none; }
  #mz-svg { width: 100%; max-width: 175mm; margin: 0 auto; border: 0; border-radius: 0; }
  #mz-svg .mz-player, #mz-svg .mz-trail { display: none !important; }
  #mz-svg .mz-sol, #mz-svg.show-sol .mz-sol { display: none; }
  #mz-svg.print-sol .mz-sol { display: inline; }
  .mz-walls, .mz-sol, .mz-star { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
