/* app-page.css — Duel on your phone (app.html) on the v2 house style: the three steps to the table with the first one as
   the page's primary action, then making it an app on the visitor's own device first. Phone-first, upright and sideways. */

.app { max-width: 820px; margin: 0 auto; padding: 6px var(--pad) 56px; display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(18px, 3vh, 28px); }
.app [hidden] { display: none !important; }
.app-hero { display: grid; gap: 8px; }
.app-hero h1 { margin: 0; font: 900 clamp(32px, 6vw, 58px)/1.04 var(--display); letter-spacing: .01em; color: var(--ink); }
.app-hero .v2-lede { margin: 0; max-width: 46ch; }

.state { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 14px; padding: 12px 16px; border-radius: 16px;
  font-size: 14px; line-height: 1.45; color: var(--ink); background: rgba(127,224,160,.1); border: 1px solid rgba(127,224,160,.35); }
.state.warn { background: rgba(240,196,120,.1); border-color: rgba(240,196,120,.42); }
.state span { flex: 1 1 240px; min-width: 0; }

.steps3 { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: s; }
.step3 { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; align-items: start; padding: 16px 18px; border-radius: 22px;
  background: rgba(18,16,14,.62); border: 1px solid var(--hair); counter-increment: s; min-width: 0; }
.step3::before { content: counter(s); width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; font-size: 15px; font-weight: 800;
  color: #160f03; background: linear-gradient(180deg, #fff, var(--hi)); }
.step3 h2 { margin: 4px 0 0; font-size: 17.5px; line-height: 1.25; color: var(--ink); }
.step3 p { margin: 5px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--ink-2); }
.step3.first { background: linear-gradient(180deg, color-mix(in srgb, var(--c) 16%, rgba(18,16,14,.84)), rgba(18,16,14,.72));
  border-color: color-mix(in srgb, var(--hi) 38%, var(--hair)); box-shadow: 0 20px 50px rgba(0,0,0,.35); }
.step3 .cta { display: grid; gap: 8px; margin-top: 14px; }
.step3 .cta .v2-btn { width: 100%; }
.step3 .fine { margin: 2px 0 0; font-size: 13px; color: var(--muted); }

.guides-head { display: grid; gap: 4px; }
.guides-head h2 { margin: 0; }
.guides-head p { margin: 0; }
.guides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.guide { display: grid; align-content: start; gap: 12px; padding: 16px; border-radius: 20px; background: rgba(18,16,14,.6); border: 1px solid var(--hair); min-width: 0; transition: opacity .3s; }
.guide.mine { border-color: color-mix(in srgb, var(--hi) 45%, var(--hair)); box-shadow: 0 0 34px color-mix(in srgb, var(--c) 18%, transparent); }
.guide.dim { opacity: .6; }
.guide .gh { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.guide .gh b { display: block; font-size: 15.5px; }
.guide .gh small { display: block; font-size: 12px; color: var(--muted); }
.guide .yours { flex: none; padding: 3px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 700; color: #160f03; background: var(--hi); }
.guide ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; counter-reset: g; }
.guide li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; font-size: 13.5px; line-height: 1.45; color: var(--ink-2); counter-increment: g; }
.guide li::before { content: counter(g); width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; font-size: 11.5px; font-weight: 800; color: var(--ink); background: var(--glass-2); }
.guide li b { color: var(--ink); }
.guide li svg { width: 16px; height: 16px; vertical-align: -3px; fill: none; stroke: var(--hi); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.guide .v2-btn { width: 100%; }

.note { margin: 0; padding: 14px 16px; border-radius: 18px; font-size: 13.5px; line-height: 1.6; color: var(--ink-2); background: rgba(255,255,255,.035); border: 1px solid var(--hair); }
.note b { color: var(--ink); }
.app-end { display: flex; justify-content: center; }

@media (max-width: 760px) {
  .guides { grid-template-columns: minmax(0, 1fr); }
  .step3 { padding: 14px; gap: 12px; }
}
@media (orientation: landscape) and (max-height: 500px) {
  .app { gap: 14px; }
  .app-hero h1 { font-size: 28px; }
  .app-hero .v2-lede { font-size: 14px; }
  .steps3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .step3 { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 12px 14px; }
  .step3::before { width: 28px; height: 28px; font-size: 13px; }
  .step3 h2 { margin: 0; font-size: 15px; }
  .step3 p { font-size: 13px; }
  .step3 .cta { margin-top: 8px; }
  .guides { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
