/* ===== stage 15 (2026-10-10): LL 99 rebuild of 09–12 in the halo language + round-8 trust/craft list ===== */

/* ---------- 10 · $ROI as one bead flow ---------- */
#token .wrap > .sec-head + .flow { padding: clamp(36px, 4vw, 60px) 20px 34px; }
.flow .bl-h { margin: 0 0 clamp(30px, 3.4vw, 46px); max-width: 20em; }
.fl-grid { position: relative; display: grid; grid-template-columns: minmax(0, 3fr) 56px minmax(220px, 1fr);
  grid-template-areas: "la . burn" "ra . burn" "sa . burn" "lb . burn" "rb . burn" "sb . burn"; }
.fl-wires { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; z-index: 0; }
.fl-w { fill: none; stroke: var(--hair-2); stroke-width: 1; }
.fl-w.a { stroke: #3A2A42; }
.fl-ride .pb-o, .fl-g .pb-o { fill: var(--night); stroke: var(--bone); stroke-width: 1.3; }
.fl-ride .pb-i, .fl-g .pb-i { fill: var(--mag); }
.fl-ride .sb, .fl-g .sb { fill: var(--night); stroke: var(--bone); stroke-width: 1.2; }
.fl-g .sb.dim { stroke: var(--ash-2); }
.fl-lane { position: relative; z-index: 1; margin: 0 0 18px; }
.fl-la { grid-area: la; } .fl-lb { grid-area: lb; margin-top: 44px; }
.fl-row { position: relative; z-index: 1; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; }
.fl-a { grid-area: ra; } .fl-b { grid-area: rb; }
.fl-n { display: flex; flex-direction: column; min-width: 0; }
.fl-g { position: relative; width: 120px; height: 120px; margin: 0 0 16px; border-radius: 50%; background: var(--night); }
.fl-g svg { display: block; width: 100%; height: 100%; overflow: visible; }
.fl-g .b { fill: var(--mag); }
.fl-g .b.dim { fill: #4A3F52; }
.fl-g .dc { fill: var(--bone); }
.fl-g .rb { fill: var(--bone); }
.fl-g .ex { fill: none; stroke: var(--bone); stroke-width: 1.4; stroke-dasharray: 4 4; }
.fl-g .stem { stroke: var(--bone); stroke-width: 1.2; }
.fl-g .rk { fill: var(--night); stroke: var(--ash-2); stroke-width: 1.2; }
.fl-g .dk { fill: var(--ash); }
.fl-g .rl { stroke: var(--hair-2); stroke-width: 1; }
.fl-g .wr { fill: none; stroke: var(--bone); stroke-width: 1.3; }
.fl-g .tx { font: 500 13px var(--mono); fill: var(--bone); text-anchor: middle; letter-spacing: .06em; }
.fl-n .a-k, .fl-burn .a-k { margin: 0 0 8px; font: 400 13px var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ash); }
.fl-n .a-n, .fl-burn .a-n { color: var(--bone); margin-right: 10px; }
.fl-h { margin: 0 0 8px; font: 400 clamp(18px, 1.45vw, 21px)/1.25 var(--sans); font-stretch: 106%; color: var(--bone); max-width: 15em; }
.fl-n .a-p, .fl-burn .a-p { margin: 0; font-size: 15px; line-height: 1.5; color: #B7B1BC; max-width: 18em; }
.fl-note { position: relative; z-index: 1; margin: 22px 0 0; padding: 0 0 0 22px; font-size: 14.5px; line-height: 1.5; color: #A39DA9; max-width: 44em; }
.fl-note::before { content: ''; position: absolute; left: 0; top: .55em; width: 11px; height: 11px; border-radius: 50%; border: 1px dashed var(--ash); }
.fl-note b { font: 500 13px var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--bone); margin-right: 8px; }
.fl-second { grid-area: sa; } .fl-half { grid-area: sb; }
.fl-burn { grid-area: burn; align-self: center; position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; }
.fl-burn .fl-g { width: 168px; height: 168px; }
.js .flow .fl-n.rv .fl-g, .js .flow .fl-burn.rv .fl-g { transform: scale(.86); opacity: 0; }
.js .flow .rv.on .fl-g { transform: none; opacity: 1; transition: transform var(--t4) var(--out), opacity var(--t3) var(--out); transition-delay: inherit; }
@media (max-width: 1100px) {
  .fl-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "la" "ra" "sa" "burn" "lb" "rb" "sb"; }
  .fl-burn { align-self: start; margin: 44px 0 0; flex-direction: row; align-items: center; gap: 22px; }
  .fl-burn > :not(.fl-g) { max-width: 22em; }
  .fl-burn .fl-g { margin: 0; flex: none; }
}
@media (max-width: 760px) {
  #token .wrap > .sec-head + .flow { padding: 32px var(--gut) 26px; }
  .fl-row { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .fl-n { display: grid; grid-template-columns: 72px minmax(0, 1fr); column-gap: 18px; align-items: start; }
  .fl-n .fl-g { grid-row: 1 / span 3; width: 72px; height: 72px; margin: 0; }
  .fl-n .a-p { max-width: none; }
  .fl-burn { display: grid; grid-template-columns: 72px minmax(0, 1fr); column-gap: 18px; margin-top: 30px; }
  .fl-burn .fl-g { grid-row: 1 / span 3; width: 72px; height: 72px; }
  .fl-note { margin-left: 90px; font-size: 14px; }
  .fl-lb { margin-top: 40px; }
  .fl-half::after { content: '↑ the same burn'; display: block; margin-top: 8px; font: 400 13px var(--mono); color: var(--mag); }
}

/* ---------- C · Who pays as one ledger line ---------- */
.paid { padding: 30px 20px 14px; }
.paid .pd-row { position: relative; }
.paid .pd-row::before { content: ''; position: absolute; left: 0; right: 0; top: 48px; height: 1px; background: linear-gradient(90deg, var(--hair-2), var(--hair-2) 92%, transparent); }
.paid .pd, .paid .pd + .pd { position: relative; border: 0; padding: 14px 26px 18px 0; }
.paid .pl-g { margin-left: -14px; }
.paid .pd-p { padding-top: 12px; border-top: 1px dashed var(--hair-2); margin-top: 10px; }
@media (max-width: 760px) {
  .paid { padding: 26px var(--gut) 10px; }
  .paid .pd-row::before { left: 34px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; background: var(--hair-2); }
  .paid .pd, .paid .pd + .pd { display: grid; grid-template-columns: 70px minmax(0, 1fr); column-gap: 14px; padding: 12px 0 18px; border-top: 0; }
  .paid .pl-g { grid-row: 1 / span 3; margin: -10px 0 0 -14px; height: 70px; }
  .paid .pl-g svg { width: 84px; height: 70px; }
  .paid .tk-l { white-space: nowrap; }
}

/* ---------- D · Built on: plain links, not pills ---------- */
.plat ul { gap: 10px 22px; }
.plat a, .plat a:hover, .plat a:focus-visible { height: auto; padding: 4px 0; border: 0; border-bottom: 1px solid var(--hair-2); background: none; font-size: 13.5px; }
.plat a:hover, .plat a:focus-visible { border-bottom-color: var(--bone); }

/* ---------- 11 · FAQ keeps the dark world: one spine, five rings ---------- */
.faq { --paper: var(--night); --ink: var(--bone); --rule: var(--hair); --ink-2: var(--ash); background: var(--night); color: var(--bone); border-top: 1px solid var(--hair); }
.faq ::selection { background: var(--mag); color: var(--night); }
.faq :focus-visible { outline-color: var(--bone); }
.faq .h2 .dim { color: var(--ash); }
.faq .label .n::before, .faq .label .n::after { color: var(--ash-2); }
.faq-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.faq-side { display: flex; flex-direction: column; gap: 26px; border-right: 1px solid var(--hair); border-bottom: 0; padding: clamp(40px, 4.4vw, 64px) 32px 40px 20px; }
.faq-side .h2 { font-size: clamp(36px, 3.6vw, 56px); }
.faq-art { flex-direction: column; align-items: flex-start; gap: 14px; max-width: 340px; position: sticky; top: calc(var(--nav-h) + 24px); }
.faq-art svg { width: 168px; }
.faq-art figcaption { font: 400 13px/1.55 var(--mono); color: #A39DA9; }
.faq-art figcaption b { color: var(--bone); }
.faq-list { display: block; position: relative; padding: clamp(28px, 3.2vw, 48px) 20px 40px 40px; }
.faq-list::before { content: ''; position: absolute; left: 46px; top: calc(clamp(28px, 3.2vw, 48px) + 30px); bottom: 64px; width: 1px; background: var(--hair-2); }
.faq-list .qa-i, .faq-list .qa-i:first-child, .faq-list .qa-i:last-child:nth-child(odd) { position: relative; display: block; grid-column: auto; border: 0; padding: 0 0 30px 40px; }
.faq-list .qa-i::before { content: ''; position: absolute; left: 0; top: 7px; width: 13px; height: 13px; border-radius: 50%; background: var(--night); border: 1.2px solid var(--ash-2); }
.faq-list .qa-i:hover::before { border-color: var(--mag); }
.qa dt { display: flex; align-items: baseline; gap: 14px; margin: 0 0 10px; color: var(--bone); }
.qa-n { color: var(--ash); }
.qa dd { padding-left: 0; font-size: 15.5px; line-height: 1.6; color: #B7B1BC; max-width: 40em; }
.qa dd a { color: var(--bone); }
@media (max-width: 1023px) {
  .faq-grid { grid-template-columns: minmax(0, 1fr); }
  .faq-side { border-right: 0; border-bottom: 1px solid var(--hair); padding: 36px var(--gut) 26px; }
  .faq-art { position: static; flex-direction: row; align-items: center; max-width: none; }
  .faq-art svg { width: 104px; flex: none; }
  .faq-list { padding: 28px var(--gut) 30px calc(var(--gut) + 4px); }
  .faq-list::before { left: calc(var(--gut) + 10px); top: 40px; }
  .faq-list .qa-i { padding-left: 34px; }
  .qa dd { padding-left: 0 !important; }
}

/* ---------- 12 · early access: one column around the ping it would send ---------- */
.ea { display: flex; flex-direction: column; align-items: center; padding: clamp(44px, 5vw, 76px) 20px clamp(40px, 4.4vw, 64px); }
.ea-copy { display: contents; }
.ea .h-ea { order: 1; text-align: center; }
.ea .h-ea span { display: inline; }
.ea-lede { order: 2; margin: 18px 0 0; text-align: center; }
.ea-alert { order: 3; width: min(600px, 100%); margin: 34px 0 0; padding: 0; border: 0; }
.ea-alert > .label { display: none; }
.ea-get { order: 4; width: min(600px, 100%); margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 18px; position: relative; }
.ea-get::before { content: ''; position: absolute; left: 6px; right: 6px; top: 6px; height: 1px; background: var(--hair-2); }
.ea-get li { position: relative; list-style: none; padding: 22px 0 0; font-size: 14.5px; line-height: 1.45; color: #B7B1BC; }
.ea-get li::before { content: ''; position: absolute; left: 0; top: 0; width: 13px; height: 13px; border-radius: 50%; background: var(--night); border: 1.2px solid var(--mag); }
.ea-get li b { display: block; color: var(--bone); font-weight: 500; }
.ea-form, .ea-done { order: 5; width: min(600px, 100%); max-width: none; margin-top: 30px; }
.ea-done { margin-top: 30px; }
@media (max-width: 760px) {
  .ea { align-items: stretch; padding: 40px var(--gut) 36px; }
  .ea .h-ea, .ea-lede { text-align: left; }
  .ea .h-ea span { display: block; }
  .ea-get { grid-template-columns: minmax(0, 1fr); gap: 14px; padding-left: 26px; }
  .ea-get::before { left: 6px; right: auto; top: 6px; bottom: 6px; width: 1px; height: auto; }
  .ea-get li { padding: 0; }
  .ea-get li::before { left: -26px; top: 3px; }
}

/* ---------- 07 · board rows wear a mini halo; trust line instead of "clear" ---------- */
.t-coin svg.mini { width: 38px; height: 38px; overflow: visible; }
.mini .mi { fill: #4A3F52; } .mini .mo { fill: var(--mag); } .mini .mf { fill: var(--ash-2); }
.mini .me { fill: none; stroke: var(--bone); stroke-width: .8; stroke-dasharray: 1.6 1.6; }
.mini .md { fill: var(--bone); }
.mini .mp { font: 600 9px var(--mono); fill: var(--mag); text-anchor: end; }
.is-flag .mini .md { fill: var(--ash); }
.ck .clear, .ck .ck-near { font: 400 12px/1.35 var(--mono); color: #A39DA9; white-space: normal; max-width: 15em; display: inline-block; }
.ck .ck-near { color: var(--bone); padding: 2px 6px; border: 1px dashed var(--ash); }
@media (max-width: 760px) { .t-coin svg.mini { width: 30px; height: 30px; } }

/* ---------- 08 · magenta only above 1× ---------- */
.cmp-roi .v.lo { color: var(--ash); }

/* check-load fixes (s15a) */
.flow > .bl-h { position: static; max-width: 22em; font-size: clamp(32px, 3.2vw, 52px); line-height: 1.04; }
.faq-side .faq-art { margin: 0; padding: 0; }
.ck .clear, .ck .ck-near { white-space: nowrap; max-width: none; }
.tbl tr.t-status td { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 760px) { .tbl tr.t-status td { white-space: normal; } }

/* item 10 · save-sort: one label, one height, three pips */
.f-save { height: 32px; min-height: 32px; align-items: center; white-space: nowrap; }
.f-save .pips { display: inline-flex; gap: 4px; margin: 0 2px; }
.f-save .pips[hidden] { display: none; }
.f-save .pips b { width: 6px; height: 6px; border-radius: 50%; border: 1px solid var(--ash); }
.f-save .pips b.on { background: var(--mag); border-color: var(--mag); }
@media (max-width: 760px) { .f-save { height: 40px; } }

/* item 4 · field labels above the crowd; back rows ghosted */
.halo-label.ghost { opacity: 0; }
.halo-label.ghost.on { opacity: .62; }
.halo-label.ghost b { color: var(--ash); }
.halo-label.ghost.lit b, .halo-label.ghost.hover b { color: var(--bone); }

/* item 8 · specimen leader ends carry live values */
.spec-leads text.lv { font: 400 12px var(--mono); fill: var(--ash); }
.spec-leads text.lv.on { fill: var(--mag); }

/* item 7 · phones: the pin card's rows read on one line each (halo on top, label left, value right) */
@media (max-width: 760px) {
  .pin-ex .pin-body { display: flex; flex-direction: column; align-items: stretch; gap: 14px; }
  .pin-ex .ex-g { width: 104px; align-self: center; }
  .pin-ex .pin-stats { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; width: 100%; }
  .pin-ex .pin-stats dt { white-space: nowrap; font-size: 13px; }
  .pin-ex .pin-stats dd { margin: 0; text-align: right; white-space: nowrap; }
  .pin-ex .pin-stats dd.mag { font-size: 24px; line-height: 1; }
  .pin-ex .pin-stats dd.note { grid-column: 1 / -1; text-align: left; white-space: normal; }
}

/* item 12 · scored panel: the halo moves into the number's corner, so the text gets the full width and the checks clear the fold */
@media (min-width: 761px) {
  .result .r-body { grid-template-columns: minmax(0, 1fr); position: relative; }
  .result .r-glyph { position: absolute; right: 14px; top: 12px; width: 78px; padding: 0; border: 0; z-index: 1; }
  .result .r-glyph small { display: none; }
  .result .r-main { gap: 8px; padding: 12px 14px 12px; }
  .result .r-rate { padding-right: 96px; min-height: 70px; }
  .result .r-score { margin: 0; }
  .result .r-checks { padding: 8px 14px 10px; gap: 4px 16px; }
}

/* s15b check-load fixes */
.faq-art svg { width: 232px; }
@media (max-width: 1023px) { .faq-art svg { width: 104px; } }
.foot-cluster .fc-h { border: 0 !important; }

/* s15c · phones: pin card, halo on top, one row per stat, the trust line on its own full row */
@media (max-width: 760px) {
  .wall .slots.n1 .pin-ex .pin-body { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 16px var(--gut) 18px; }
  .wall .slots.n1 .pin-ex .ex-g { width: 112px; align-self: center; }
  .wall .slots.n1 .pin-ex .pin-stats { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; font-size: 13px; }
  .wall .slots.n1 .pin-ex .pin-stats dt { align-self: center; white-space: nowrap; }
  .wall .slots.n1 .pin-ex .pin-stats dd { margin: 0; text-align: right; white-space: nowrap; }
  .wall .slots.n1 .pin-ex .pin-stats dd.mag { font-size: 30px; }
  .wall .slots.n1 .pin-ex .pin-stats dd[class*="tr-"] { white-space: normal; }
}
@media (max-width: 1023px) { .faq-list .qa-i, .faq-list .qa-i:first-child, .faq-list .qa-i:last-child:nth-child(odd) { padding-left: 34px; } }
