/* Walkaround - the page around the receipt. Same paper, same mono, one accent. */

body { margin: 0; background: var(--bg); color: var(--text); font: 15px/1.55 var(--font); overflow-x: hidden; }

.shell { max-width: 1120px; margin: 0 auto; padding: 0 20px 80px; }

.bar { border-bottom: 1px solid var(--border); background: var(--surface); }
.bar .in { max-width: 1120px; margin: 0 auto; padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wordmark { font: 700 13px/1 var(--mono); letter-spacing: .34em; text-transform: uppercase; color: var(--text); text-decoration: none; }
.wordmark small { display: block; font: 400 9.5px/1.6 var(--mono); letter-spacing: .18em; color: var(--subtle); margin-top: 4px; }
.bar nav { display: flex; align-items: center; gap: 14px; font: 500 11px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.bar nav a { color: var(--muted); text-decoration: none; }
.bar nav a:hover { color: var(--text); }
.toggle { border: 1px solid var(--border); background: var(--surface-2); color: var(--muted); border-radius: 999px; font: 600 10px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; padding: 6px 10px; cursor: pointer; }

h1 { font-size: 30px; line-height: 1.18; letter-spacing: -.015em; margin: 34px 0 10px; }
h1.mono { font: 700 26px/1.2 var(--mono); letter-spacing: -.01em; }
.lede { color: var(--muted); max-width: 62ch; margin: 0 0 22px; font-size: 16px; }
h2 { font: 600 11px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--subtle); margin: 40px 0 14px; }

.honest { border-left: 3px solid var(--accent); padding: 2px 0 2px 14px; color: var(--muted); font-size: 14px; max-width: 66ch; margin: 18px 0 0; }

/* ---- the one control on the landing page ---- */
.scanform { display: flex; gap: 8px; align-items: stretch; max-width: 640px; flex-wrap: wrap; }
.scanform .field {
  flex: 1 1 320px; min-width: 0; display: flex; align-items: center; gap: 8px;
  border: 1px solid var(--text); border-radius: var(--app-radius); background: var(--surface); padding: 0 12px;
}
.scanform .field .scheme { font: 700 12px/1 var(--mono); color: var(--subtle); letter-spacing: .06em; }
.scanform input[type=url], .scanform input[type=text] {
  flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text);
  font: 500 14px/1 var(--mono); padding: 14px 0;
}
.btn {
  display: inline-block; border: 1px solid var(--text); border-radius: var(--app-radius);
  background: var(--text); color: var(--bg); font: 700 11px/1 var(--mono); letter-spacing: .12em;
  text-transform: uppercase; padding: 14px 18px; cursor: pointer; text-decoration: none; text-align: center;
}
.btn.ghost { background: transparent; color: var(--text); }
.btn[aria-busy="true"] { opacity: .6; }
.btn.wide { display: block; width: 100%; line-height: 1.35; padding: 12px 14px; }
.hint { color: var(--subtle); font: 400 11px/1.6 var(--mono); margin: 10px 0 0; }

/* ---- the two columns of "what it reads" ---- */
.cols { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 26px; align-items: start; }
.panel { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); padding: 16px 18px; }
.panel .ln { padding-top: 0; }
.panel .ln + .ln { border-top: 1px dotted var(--border); margin-top: 4px; }
.panel p { margin: 0 0 8px; color: var(--muted); font-size: 13.5px; }
.panel ul { margin: 0; padding-left: 18px; color: var(--muted); font-size: 13.5px; }
.panel li { margin-bottom: 6px; }
.panel .small { margin-top: 10px; }

.price { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.price .tier { border: 1px solid var(--border); border-radius: 12px; padding: 16px 18px; background: var(--surface); }
.price .tier.now { border-color: var(--text); }
.price .amt { font: 700 26px/1 var(--mono); letter-spacing: -.02em; margin: 6px 0 2px; }
.price .amt small { font: 500 11px/1 var(--mono); color: var(--subtle); letter-spacing: .1em; }
.price ul { margin: 12px 0 0; padding-left: 18px; color: var(--muted); font-size: 13.5px; }
.price li { margin-bottom: 5px; }

.foot { border-top: 1px solid var(--border); margin-top: 44px; padding-top: 16px; color: var(--subtle); font: 400 11px/1.7 var(--mono); }
.foot a { color: var(--muted); }

/* ---- notices, and the test-mode checkout ---- */
.notice { border: 1px solid var(--border); border-left: 3px solid var(--warn); background: var(--surface); border-radius: 8px; padding: 14px 16px; margin: 18px 0; color: var(--muted); font-size: 14px; max-width: 68ch; }
.notice b { color: var(--text); }
.notice.bad { border-left-color: var(--bad); }
.notice.good { border-left-color: var(--good); }

.testbanner {
  border: 2px dashed var(--warn); background: color-mix(in srgb, var(--warn) 12%, transparent);
  border-radius: 10px; padding: 16px 18px; margin: 20px 0;
}
.testbanner b { display: block; font: 800 15px/1.2 var(--mono); letter-spacing: .06em; color: var(--warn); text-transform: uppercase; }
.testbanner span { display: block; margin-top: 6px; color: var(--muted); font-size: 13.5px; }

.receiptpage { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: start; padding-top: 24px; }
/* The roll is 440px wide whatever the column does: it sits in the middle of
   its column rather than clinging to one edge. */
.receiptpage > div:first-child { display: flex; flex-direction: column; align-items: center; }
.side { position: sticky; top: 20px; }
.side .panel + .panel { margin-top: 14px; }
.side .btn { margin-top: 4px; }
.side .meta { font-size: 11.5px; }

.backlink { display: inline-block; margin: 18px 0 0; color: var(--muted); font: 500 11px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }

@media (max-width: 900px) {
  .cols, .price, .receiptpage { grid-template-columns: minmax(0, 1fr); }
  .side { position: static; }
}
@media (max-width: 470px) {
  .shell { padding: 0 12px 60px; }
  h1 { font-size: 23px; }
  h1.mono { font-size: 19px; }
  .lede { font-size: 15px; }
  .scanform .field { flex: 1 1 100%; }
  .scanform .btn { flex: 1 1 100%; }
  .panel, .price .tier { padding: 14px; }
  .bar .in { padding: 10px 12px; }
  /* The wordmark already goes home, so the first nav link is dropped rather
     than allowed to wrap into two lines beside it. */
  .bar nav a:first-child { display: none; }
  .bar nav a, .bar nav .toggle { white-space: nowrap; }
  .bar nav { gap: 10px; }
}
