/* The free-watch meter and the priced upgrade choice (assets/js/upgrade-choice.js).
   Uses the site tokens from site.css :root, so it sits in the watch gate, the
   dashboard, My shelf and the confirmation page without a theme of its own.
   Options are full-width rows so each is one easy tap at 390px. */

.up-meter {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-family: 'Space Mono', monospace; font-size: 0.8rem; font-weight: 700;
  color: var(--ink); line-height: 1.35;
}
.up-meter__pips { display: inline-flex; gap: 5px; flex: 0 0 auto; }
.up-meter__pip {
  width: 16px; height: 16px; border: 2px solid var(--ink); border-radius: 5px;
  background: var(--card);
}
.up-meter__pip.is-used { background: var(--hot); box-shadow: 1px 1px 0 var(--ink); }
.up-meter.is-full .up-meter__pip.is-used { background: var(--acid); }
.up-meter.is-frozen .up-meter__pip { background: var(--line); box-shadow: none; }
.up-meter__text { flex: 1 1 14em; min-width: 0; }

.up-choice { margin: 4px 0 0; text-align: left; }
.up-choice__heading {
  margin: 0 0 4px; font-family: 'Archivo', sans-serif; font-weight: 900; font-stretch: 85%;
  text-transform: uppercase; font-size: 1.05rem; letter-spacing: 0.01em; color: var(--ink);
}
.up-choice__lead { margin: 0 0 12px; font-size: 0.9rem; line-height: 1.5; color: var(--ink); font-weight: 600; }
.up-choice__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.up-choice__opt {
  display: grid; grid-template-columns: 1fr auto; grid-template-areas: "name price" "note price";
  align-items: center; column-gap: 12px; row-gap: 1px;
  padding: 10px 14px; border: 2px solid var(--ink); border-radius: 12px;
  background: var(--card); color: var(--ink); text-decoration: none;
  transition: transform 110ms ease-out, box-shadow 110ms ease-out;
}
.up-choice__opt:hover { transform: translate(-1px, -1px); box-shadow: 3px 3px 0 var(--ink); color: var(--ink); }
.up-choice__opt:active { transform: translate(1px, 1px); box-shadow: none; }
.up-choice__opt.is-lead { background: var(--acid); box-shadow: 3px 3px 0 var(--ink); }
.up-choice__name {
  grid-area: name; font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 0.92rem;
  text-transform: uppercase; letter-spacing: 0.02em;
}
.up-choice__note { grid-area: note; font-size: 0.78rem; font-weight: 600; color: var(--muted); line-height: 1.35; }
.up-choice__opt.is-lead .up-choice__note { color: var(--ink); }
.up-choice__price {
  grid-area: price; font-family: 'Space Mono', monospace; font-weight: 700; font-size: 1rem;
  white-space: nowrap; text-align: right;
}
.up-choice__fine { margin: 10px 0 0; font-size: 0.74rem; line-height: 1.5; color: var(--muted); }
.up-choice__fine a { color: var(--ink); font-weight: 700; }

@media (prefers-reduced-motion: reduce) {
  .up-choice__opt { transition: none; }
}

/* My shelf: the meter card under the page title. */
.shelf-meter {
  margin: 14px 0 6px; padding: 14px 16px;
  background: var(--card); border: 2px solid var(--ink); border-radius: 14px; box-shadow: 4px 4px 0 var(--ink);
}
.shelf-meter.is-full, .shelf-meter.is-frozen { border-left-width: 8px; }
.shelf-meter.is-full { border-left-color: var(--acid); }
.shelf-meter.is-frozen { border-left-color: var(--hot); }
.shelf-meter .up-choice { margin-top: 12px; }
.shelf-upgrade { margin-top: 22px; }
.shelf-upgrade .up-choice { margin-top: 0; }
.shelf-meter__more { margin: 8px 0 0; font-size: 0.82rem; font-weight: 600; color: var(--muted); }
.shelf-meter__more a { color: var(--ink); font-weight: 800; }

/* The dashboard's trial card. */
.dash-card .up-meter { margin-bottom: 10px; }
.dash-card .up-choice { margin-top: 12px; }
