/* v35 · «Cómo se juega» */
.ph-modal { position: fixed; inset: 0; background: rgba(45,38,64,.45); display: none; z-index: 60; padding: 14px; }
.ph-modal.on { display: flex; align-items: center; justify-content: center; }
.ph-box { background: #FFFDF8; border-radius: 22px; max-width: 900px; width: 100%; max-height: 100%; display: flex; flex-direction: column; box-shadow: 0 10px 40px rgba(0,0,0,.25); overflow: hidden; }
.ph-top { padding: 14px 18px 10px; border-bottom: 2px solid #EFE6FB; background: #F7F2FF; }
.ph-top h2 { margin: 0 0 10px; font-size: 1.6rem; color: #3d3360; }
.ph-ctl { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.ph-b { font: inherit; font-weight: 900; font-size: 1.15rem; min-height: 56px; padding: 0 18px; border-radius: 16px; border: 3px solid #D9CCE6; background: #fff; color: #3d3360; cursor: pointer; touch-action: manipulation; }
.ph-b.big { font-size: 1.35rem; min-height: 64px; background: #E6F4FF; border-color: #9CC9F0; }
.ph-b.on { background: #FFE9A8; border-color: #3d3360; }
.ph-b.close { margin-left: auto; }
.ph-b.go { background: #DFF5E8; border-color: #9ED9C3; width: 100%; }
.ph-b:disabled { opacity: .4; }
.ph-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; padding: 6px 22px 10px; font-size: 1.3rem; line-height: 1.55; color: #2d2640; -webkit-overflow-scrolling: touch; }
.ph-body h3 { font-size: 1.3rem; margin: 16px 0 6px; color: #5E4E92; }
.ph-body ol, .ph-body ul { margin: 0; padding-left: 1.6em; }
.ph-body li { margin: 6px 0; }
.ph-sym { list-style: none; padding-left: 0 !important; }
.ph-sym li { display: flex; align-items: center; gap: 12px; }
.ph-ico { flex: 0 0 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 2px solid #EFE6FB; border-radius: 12px; font-size: 1.8rem; }
.ph-ico svg { width: 60px; height: 60px; }
.ph-exrow { display: flex; gap: 18px; align-items: flex-start; flex-wrap: wrap; }
.ph-exfig { flex: 0 0 auto; background: #fff; border: 2px solid #EFE6FB; border-radius: 14px; padding: 8px; }
.ph-exfig svg { width: 240px; max-width: 70vw; height: auto; display: block; }
.ph-steps { flex: 1 1 280px; }
.ph-s { border-radius: 8px; transition: background .2s; }
.ph-s.reading { background: #FFE9A8; box-shadow: 0 0 0 4px #FFE9A8; }
.ph-foot { padding: 10px 18px 14px; border-top: 2px solid #EFE6FB; }
.ph-nosp { color: #7a6f8a; font-size: 1rem; }
.pa-helpbtn { font: inherit; font-weight: 900; font-size: 1.2rem; min-height: 58px; padding: 0 18px; border-radius: 16px; border: 3px solid #9CC9F0; background: #E6F4FF; color: #2F4F7F; cursor: pointer; }
@media (orientation: portrait) { .ph-body { font-size: 1.25rem; } }
