/* Arcade Field Guide — shared, data-driven how-to-play dialog */
.tutorial-overlay{position:absolute;inset:0;z-index:50;display:grid;place-items:center;padding:clamp(16px,4vw,36px);background:rgba(23,22,18,.88);border-radius:18px}
.tutorial-card{position:relative;width:min(100%,640px);max-height:min(680px,calc(100dvh - 130px));overflow:auto;background:var(--paper);color:var(--ink);border:2px solid var(--ink);padding:clamp(24px,5vw,46px);box-shadow:10px 10px 0 var(--marigold);text-align:left}
.tutorial-kicker{font:800 .75rem/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--vermilion)}
.tutorial-card h2{font-family:var(--font-display);font-size:clamp(2rem,7vw,3.6rem);line-height:.92;margin:.6rem 0 1rem}
.tutorial-summary{font-size:1.08rem;line-height:1.55;max-width:50ch}
.tutorial-rules{display:grid;gap:12px;margin:24px 0;list-style:none;counter-reset:rules}
.tutorial-rules li{counter-increment:rules;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;line-height:1.45}
.tutorial-rules li::before{content:counter(rules);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--marigold);font:800 .8rem var(--font-mono)}
.tutorial-tip{padding:14px 16px;border-left:5px solid var(--moss);background:#e4dfbd;line-height:1.45}
.tutorial-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}
.tutorial-close{min-height:48px}
@media(max-width:560px){.tutorial-overlay{position:fixed;border-radius:0;padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.tutorial-card{max-height:100%;box-shadow:6px 6px 0 var(--marigold);padding:24px 20px}.tutorial-actions{position:sticky;bottom:-24px;background:linear-gradient(transparent,var(--paper) 28%);padding:28px 0 4px}.tutorial-close{width:100%}}
@media(prefers-reduced-motion:reduce){.tutorial-overlay,.tutorial-card{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
