/* ═══════════════════════════════════════════════════════════
   HOW TO PLAY EYE OF HORUS — page-specific layer
   One continuous illustrated walkthrough. "htp-" prefix throughout
   to avoid colliding with sibling pages' own page-specific classes.
   (tokens + shared components inherited from base.css / layer.css)
   ═══════════════════════════════════════════════════════════ */

.tt-sec + .tt-sec{border-top:1px solid var(--line)}
.htp-tight{padding-top:clamp(20px,3vw,32px)}

/* ── generic small reel-grid mockup wrapper (reuses grid-scroll/grid-shell) ── */
.ctrl-mock .bar{border-top:none;border-radius:8px}
.ctrl-mock .cab-in{padding:2px;overflow:visible}
.htp-ifc .cab-in{overflow:visible}
@media(max-width:760px){ .ctrl-mock .cab{min-width:460px} }

/* ── numbered marker pins (hero interface + mistakes screenshot) ── */
.htp-mk{position:absolute;top:-9px;right:-9px;z-index:5;width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-family:var(--orn);font-weight:900;
  font-size:.78rem;color:#3A2402;background:linear-gradient(180deg,#FFE486,#EFA916);
  border:2px solid #B4780A;box-shadow:0 2px 6px rgba(0,0,0,.35);cursor:pointer;
  transition:transform .18s,opacity .25s,background .2s}
.htp-mk.tl{right:auto;left:-9px}
.htp-mk:hover{transform:scale(1.12)}
.htp-mk.active{background:linear-gradient(180deg,#7FE3E8,#17A2A8);color:#04333a;
  border-color:#08474B;transform:scale(1.18)}
.htp-focus{outline:3px solid var(--turq);outline-offset:3px;border-radius:8px;transition:outline-color .25s}
.htp-dim{opacity:.5;transition:opacity .25s}
.htp-ifc{position:relative;margin-top:.9rem}
.htp-ifc .cab{margin-top:14px}
.htp-cap{background:var(--card);border:2px solid var(--line);border-radius:12px;
  padding:clamp(12px,1.6vw,18px);margin-top:1rem}
.htp-cap b{display:block;font-family:var(--dsp);font-weight:800;color:var(--ink);
  font-size:1rem;margin-bottom:.3rem}
.htp-cap p{margin:0;font-size:.9rem;line-height:1.55;color:var(--body)}
.htp-mk-row{display:none;flex-wrap:wrap;gap:8px;margin-top:.8rem}
.htp-mk-chip{flex:0 0 auto;min-width:44px;min-height:44px;padding:.4rem .6rem;border-radius:9px;
  font-weight:800;font-size:.76rem;color:var(--ink);background:#FBF1D6;
  border:1.5px solid var(--stone-dk);cursor:pointer;max-width:100%}
.htp-mk-chip.active{background:var(--turq-dk);color:#FFF6D8;border-color:#08474B}
@media(max-width:760px){
  .htp-mk.pin{display:none}
  .htp-mk-row{display:flex}
}

/* ── Start Here strip (section 2) ── */
.htp-strip{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-top:1rem;
  border:1.5px solid var(--line);border-radius:12px;background:var(--card);
  padding:clamp(10px,1.4vw,14px) clamp(6px,1vw,10px)}
.htp-strip-step{display:flex;flex-direction:column;align-items:center;gap:.35rem;
  flex:1 1 0;min-width:88px;text-align:center;padding:.3rem}
.htp-strip-n{width:26px;height:26px;border-radius:50%;background:var(--ink-2);color:#FFF6D8;
  font-family:var(--orn);font-weight:900;font-size:.76rem;display:flex;align-items:center;justify-content:center}
.htp-strip-lb{font-size:.72rem;font-weight:800;letter-spacing:.02em;color:var(--ink-2);line-height:1.3}
.htp-strip-arrow{flex:0 0 auto;width:16px;height:16px;fill:var(--stone-dk);align-self:center;margin-top:-1.1rem}
@media(max-width:640px){
  .htp-strip{flex-direction:column;align-items:stretch}
  .htp-strip-step{flex-direction:row;text-align:left;min-width:0;justify-content:flex-start}
  .htp-strip-arrow{display:none}
}

/* ── choose-the-stake widget (section 3) ── */
.htp-stake-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem}
.htp-units{margin-top:.9rem;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.htp-units b{font-family:var(--dsp);font-weight:900;font-size:1.7rem;color:var(--turq-dk)}
.htp-units span{font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}

/* ── generic single-row 5-tile line mockup (lighter than a full grid) ── */
.htp-line{display:flex;gap:6px;justify-content:center}
.htp-line .tile{width:56px;height:56px;flex:0 0 auto;padding:5px}
.htp-line .tile .tl{font-size:1.5rem}
@media(max-width:480px){ .htp-line .tile{width:46px;height:46px} .htp-line .tile .tl{font-size:1.2rem} }

/* ── generic story frame ── */
.htp-frame{margin-top:1rem}
.htp-frame-lb{font-family:var(--orn);font-weight:700;font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--turq-dk);margin-bottom:.5rem;text-align:center}
.htp-frame-lb.no{color:var(--red)}
.htp-frame-lb.go{color:#22863A}
.htp-frame-cap{margin:.7rem auto 0;text-align:center;font-size:.86rem;color:var(--muted);
  max-width:56ch;line-height:1.5}

/* ── before / after two-up ── */
.htp-ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,22px);margin-top:1rem}
.htp-ba>*{min-width:0}
@media(max-width:640px){ .htp-ba{grid-template-columns:1fr} }

/* ── result / spin reveal panel ── */
.htp-spin-wrap{text-align:center;margin-top:1.1rem}
.htp-result{margin-top:1.1rem;text-align:left;background:var(--card);border:2px solid var(--turq-dk);
  border-radius:12px;padding:clamp(14px,1.8vw,20px);box-shadow:0 6px 18px rgba(14,124,131,.14)}
.htp-result[hidden]{display:none}
.htp-r-row{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;
  border-bottom:1px dashed #E3D3AB;font-size:.9rem;color:var(--ink-2)}
.htp-r-row:last-child{border-bottom:none}
.htp-r-row b{font-family:var(--dsp);font-weight:900;color:var(--turq-dk)}

/* ── feature bar (persistent during the free-spins portion) ── */
.htp-fbar{display:flex;flex-wrap:wrap;gap:0;border-radius:12px;overflow:hidden;
  border:2px solid var(--gold-dk);margin:1rem 0;background:linear-gradient(178deg,#1B3E78,#122C5C)}
.htp-fbar-item{flex:1 1 0;min-width:110px;text-align:center;padding:.6rem .5rem;
  border-right:1px solid rgba(255,255,255,.16)}
.htp-fbar-item:last-child{border-right:none}
.htp-fbar-k{display:block;font-weight:700;font-size:.6rem;letter-spacing:.13em;
  text-transform:uppercase;color:#96BEE9}
.htp-fbar-v{display:block;font-family:var(--dsp);font-weight:900;font-size:1.25rem;color:#FFE89A;margin-top:.15rem}
@media(max-width:460px){
  .htp-fbar-item{min-width:0;padding:.55rem .25rem}
  .htp-fbar-k{font-size:.52rem;letter-spacing:.06em}
  .htp-fbar-v{font-size:1.05rem}
}

/* ── receipt-style card ── */
.htp-receipt{max-width:420px;margin:1.1rem auto 0;background:#FFFDF7;
  border:2px dashed var(--stone-dk);border-radius:4px;padding:clamp(16px,2vw,22px);
  box-shadow:0 8px 22px rgba(90,60,10,.14);font-family:'Source Sans 3',monospace}
.htp-receipt-t{text-align:center;font-family:var(--orn);font-weight:900;font-size:.86rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:.7rem;
  border-bottom:1px dashed var(--stone-dk);padding-bottom:.6rem}
.htp-receipt-row{display:flex;justify-content:space-between;gap:1rem;font-size:.86rem;
  color:var(--ink-2);padding:.28rem 0}
.htp-receipt-row.tot{border-top:1px dashed var(--stone-dk);margin-top:.4rem;padding-top:.6rem;
  font-weight:900;font-size:.98rem;color:var(--ink)}
.htp-receipt-note{margin-top:.7rem;font-size:.68rem;color:var(--muted);text-align:center;line-height:1.4}

/* ── "NEW PAID SPIN" / status labels reused on several frames ── */
.htp-tag{display:inline-block;margin:0 auto;padding:.3rem .9rem;border-radius:999px;
  font-weight:800;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.htp-tag.neutral{background:#EADCB4;color:var(--ink-2)}
.htp-tag.no{background:#FDEDEB;color:var(--red);border:1.5px solid var(--red)}
.htp-tag.go{background:#E9F8EC;color:#1E7A34;border:1.5px solid #22863A}

/* ── cash / multiplier toggle ── */
.htp-toggle-out{text-align:center;margin-top:1rem}
.htp-toggle-v{font-family:var(--dsp);font-weight:900;font-size:2.4rem;color:var(--turq-dk);line-height:1}
.htp-toggle-u{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin-top:.2rem}

/* ── recap timeline reuses .tline/.tl-row — no extra CSS needed ── */

/* ── what-you-do / what-the-game-does divider label override ── */
.flow.htp-vs .farrow b{font-size:.82rem}

/* ── mistakes screenshot ── */
.htp-mistakes{position:relative;margin-top:1rem}

/* ── compact version note ── */
.htp-vnote{background:#FBF1D6;border:1.5px solid var(--stone-dk);border-radius:10px;
  padding:clamp(12px,1.6vw,16px) clamp(14px,1.8vw,18px);font-size:.88rem;color:var(--ink-2);
  line-height:1.55;margin-top:.8rem}

@media(prefers-reduced-motion:reduce){
  .htp-mk,.htp-focus,.htp-dim{transition:none}
}
