/* GENERATED by scripts/design/buildcss.mjs from lab.src.css and v2.tail.css. Do not edit.
   Scoped under .v2: nothing here can touch a page without a .v2 ancestor. */
.v2 {
  
  --pink: var(--v2-pink); --marigold: var(--v2-marigold); --lilac: var(--v2-lilac); --cyan: var(--v2-cyan); --coral: var(--v2-coral);
  --ink: var(--v2-ink);
  --paper: var(--v2-paper);
  --plate: var(--v2-plate);
  --mute: var(--v2-mute);
  --paper-tex: url("/ui/paper.png");
  --display: var(--font-v2-display), system-ui, sans-serif;
  --text: var(--font-v2-text), system-ui, sans-serif;
  background: #ebe9e3; color: var(--ink); font-family: var(--text);
  min-height: 100dvh; padding-bottom: 56px;
}
.v2.type-2 { --display: var(--lab-kavoon), system-ui, sans-serif; --text: var(--font-hanken), system-ui, sans-serif; }
.v2 :focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.v2 .lx-phone { position: relative; height: 760px; background: var(--paper); border-radius: 30px; overflow: hidden; box-shadow: 0 0 0 2px var(--ink); }
.v2 .lx-scroll { height: 100%; overflow: hidden; padding-bottom: 90px; }
.v2 .lx-pad { padding: 4px 16px 20px; }
.v2 .lx-pad-top { padding-top: 18px; }
.v2 .drawn, .v2 .drawn-line, .v2 .drawn-card { position: relative; isolation: isolate; }
.v2 .drawn::after, .v2 .drawn-line::after, .v2 .drawn-card::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  border-style: solid; border-color: transparent; border-image-repeat: stretch;
}
.v2 .drawn::after, .v2 .drawn-line::after { border-width: 24px; border-image-slice: 52; border-image-width: 24px; }
.v2 .drawn-card::after { border-width: 22px; border-image-slice: 40; border-image-width: 22px; }
.v2 .d1::after { border-image-source: url("/ui/pill1.svg"); }
.v2 .d2::after { border-image-source: url("/ui/pill2.svg"); }
.v2 .d3::after { border-image-source: url("/ui/pill3.svg"); }
.v2 .l1::after { border-image-source: url("/ui/line1.svg"); }
.v2 .l2::after { border-image-source: url("/ui/line2.svg"); }
.v2 .l3::after { border-image-source: url("/ui/line3.svg"); }
.v2 .k1::after { border-image-source: url("/ui/card1.svg"); }
.v2 .k2::after { border-image-source: url("/ui/card2.svg"); }
.v2 .k3::after { border-image-source: url("/ui/card3.svg"); }
.v2 .drawn::before, .v2 .lx-sticker-in::before, .v2 .lx-oops::before, .v2 .lx-meter-fill::before {
  background: var(--paper-tex) 0 0 / 48px 48px, var(--paper-tex) 17px 29px / 71px 71px, var(--c);
}
.v2 .drawn::before {
  content: ""; position: absolute; z-index: -1; inset: 4px 5px 4px 4px;
  border-radius: 999px 900px 950px 999px / 999px 980px 999px 920px;
}
.v2 .c-pink { --c: var(--pink); }
.v2 .c-marigold { --c: var(--marigold); }
.v2 .c-lilac { --c: var(--lilac); }
.v2 .c-cyan { --c: var(--cyan); }
.v2 .c-coral { --c: var(--coral); }
.v2 .lx-display { font: 400 33px/1.02 var(--display); letter-spacing: -0.005em; }
.v2 .lx-h1 { font: 400 27px/1.05 var(--display); margin: 2px 0 0; }
.v2 .lx-h2 { font: 400 21px/1.1 var(--display); }
.v2.type-2 .lx-display { font-size: 34px; }
.v2 .lx-body { font-size: 16px; line-height: 1.5; }
.v2 .lx-meta { font-size: 16px; color: var(--mute); margin: 4px 0 12px; }
.v2 .lx-meta, .v2 .lx-body, .v2 .lx-sub { overflow-wrap: break-word; }
.v2 .lx-label { font-size: 14px; font-weight: 700; color: var(--mute); margin-bottom: 2px; }
.v2 .lx-name { font-size: 15px; line-height: 1.25; margin: 8px 0 2px; font-weight: 600; }
.v2 .lx-price { font-size: 16px; font-weight: 700; }
.v2 .lx-price-lg { font: 400 30px/1 var(--display); margin-top: 4px; }
.v2 .lx-quietlink { font-weight: 700; font-size: 15px; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; min-height: 44px; display: inline-flex; align-items: center; }
.v2 .lx-header { position: sticky; top: 0; z-index: 20; display: flex; justify-content: space-between; align-items: center; padding: calc(6px + env(safe-area-inset-top)) 8px 6px 16px; background: var(--paper); }
.v2 .lx-header::after { content: ""; position: absolute; left: 6px; right: 6px; bottom: -3px; height: 6px; background: url("/ui/rule.svg") center / 100% 100% no-repeat; pointer-events: none; }
.v2 .lx-live.lx-live-line { margin: 10px 16px 0; }
.v2 .lx-wordmark { display: block; width: 190px; height: auto; }
.v2 .lx-header > a { display: flex; align-items: center; min-height: 44px; }
.v2 .lx-live { margin-top: 5px; font-size: 13px; font-weight: 600; color: var(--mute); display: flex; align-items: center; gap: 6px; }
.v2 .lx-dot { width: 8px; height: 8px; border-radius: 50%; background: #1f9d55; }
.v2 .lx-iconbtn { width: 48px; height: 48px; display: grid; place-items: center; }
.v2 .lx-icon { width: 26px; height: 26px; fill: none; stroke: var(--ink); stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.v2 .lx-hero { padding: 14px 16px 6px; }
.v2 .lx-chips { display: flex; gap: 6px; overflow: hidden; margin: 16px -16px 0; padding: 2px 16px 4px; }
.v2 .lx-chip { flex: none; min-height: 48px; display: inline-flex; align-items: center; padding: 0 18px; font-weight: 700; font-size: 16px; }
.v2 .lx-sect { padding: 18px 16px 4px; }
.v2 .lx-sect .lx-h2 { margin-bottom: 10px; }
.v2 .lx-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 12px; }
.v2 .lx-plate { position: relative; aspect-ratio: 1; border-radius: 16px 18px 15px 19px; overflow: hidden; background: var(--plate); }
.v2 .lx-plate-board { aspect-ratio: 4 / 5; }
.v2 .lx-cover { object-fit: cover; }
.v2 .lx-contain { object-fit: contain; }
.v2 .lx-tile-row { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; gap: 6px; }
.v2 .lx-left { font-size: 14px; font-weight: 600; color: var(--mute); }
.v2 .lx-row { display: flex; gap: 12px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; scrollbar-width: none; overscroll-behavior-x: contain; margin: 0 -16px; padding: 0 16px; }
.v2 .lx-row > * { scroll-snap-align: start; }
.v2 .lx-row::-webkit-scrollbar { display: none; }
.v2 .lx-single { flex: none; width: 140px; }
.v2 .lx-sold { position: absolute; left: 6px; top: 8px; }
.v2 .lx-sticker { display: inline-block; padding: 3px; background: #fff; border-radius: 12px 14px 11px 15px; box-shadow: 0 1px 3px rgba(11, 12, 11, 0.22); }
.v2 .lx-sticker-in { position: relative; isolation: isolate; display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; font-weight: 700; font-size: 15px; border: 2.4px solid var(--ink); border-radius: 10px 12px 9px 13px; white-space: nowrap; }
.v2 .lx-sticker-in::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; }
.v2 .lx-sticker-price { padding: 4px; border-radius: 13px 15px 12px 16px; }
.v2 .lx-sticker-price .lx-sticker-in { min-height: 36px; padding: 0 13px; font-size: 18px; border-width: 2.6px; }
.v2 .lx-sticker-price .lx-was { font-weight: 600; font-size: 15px; }
.v2 .lx-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; font-weight: 700; font-size: 17px; color: var(--ink); transition: transform 110ms ease; }
.v2 .lx-btn:active { transform: translateY(1px) scale(0.98); }
.v2 .lx-btn-sm { min-height: 48px; padding: 0 20px; font-size: 16px; }
.v2 .lx-btn-block { display: flex; width: 100%; }
.v2 .lx-btn-quiet { background: #fff; }
.v2 .lx-back { display: inline-flex; align-items: center; gap: 2px; min-height: 44px; margin-left: -6px; font-weight: 700; font-size: 16px; }
.v2 .lx-back .lx-icon { width: 22px; height: 22px; }
.v2 .lx-photo { position: relative; padding: 5px; }
.v2 .lx-photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; border: 18px solid transparent; border-image: url("/ui/photo.svg") 36 / 18px stretch; }
.v2 .lx-photo-img { display: block; width: 100%; height: auto; border-radius: 12px; }
.v2 .lx-under { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; }
.v2 .lx-toast { flex-basis: 100%; margin: 0 0 2px; padding: 10px 14px; background: var(--ink); color: #fff; border-radius: 14px 16px 13px 15px; font-weight: 700; font-size: 15px; }
.v2 .lx-dock { position: absolute; left: 0; right: 0; bottom: 0; z-index: 10; background: #fff; padding: 10px 14px calc(12px + env(safe-area-inset-bottom)); }
.v2 .lx-dock::before { content: ""; position: absolute; left: 6px; right: 6px; top: -3px; height: 6px; background: url("/ui/rule.svg") center / 100% 100% no-repeat; }
.v2 .lx-nav { display: grid; grid-template-columns: repeat(4, 1fr); padding-top: 6px; }
.v2 .lx-navitem { display: grid; justify-items: center; gap: 2px; min-height: 56px; align-content: center; font-size: 13px; font-weight: 700; color: var(--mute); }
.v2 .lx-navitem .lx-icon { stroke: var(--mute); }
.v2 .lx-navitem.is-on { color: var(--ink); }
.v2 .lx-navitem.is-on .lx-icon { stroke: var(--ink); stroke-width: 2.7; }
.v2 .lx-cartbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 12px; }
.v2 .lx-cartsum { display: grid; line-height: 1.25; font-size: 17px; }
.v2 .lx-cartsum span { font-size: 14px; color: var(--mute); font-weight: 600; }
.v2 .lx-paybar { display: grid; gap: 4px; }
.v2 .lx-paynote { text-align: center; font-size: 13px; color: var(--mute); }
.v2 .lx-dim::after { content: ""; position: absolute; inset: 0; background: rgba(11, 12, 11, 0.45); }
.v2 .lx-sheet { position: absolute; left: 0; right: 0; bottom: 0; z-index: 20; background: #fff; border-radius: 26px 28px 0 0; padding: 10px 16px 22px; display: grid; gap: 12px; }
.v2 .lx-grab { justify-self: center; width: 44px; height: 5px; border-radius: 3px; background: #c9c7c0; }
.v2 .lx-sheet-top { display: flex; gap: 14px; align-items: center; }
.v2 .lx-crop { position: relative; width: 96px; height: 96px; border-radius: 16px 18px 15px 17px; overflow: hidden; background: var(--plate); }
.v2 .lx-sheet-more { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.v2 .lx-sheet-more .lx-btn { padding: 0 8px; font-size: 16px; }
.v2 .lx-thumbs { display: flex; align-items: center; gap: 8px; margin: 12px 0 14px; }
.v2 .lx-thumb { position: relative; width: 56px; height: 56px; border-radius: 12px 14px 11px 13px; overflow: hidden; background: var(--plate); }
.v2 .lx-pins { display: grid; gap: 10px; container-type: inline-size; }
.v2 .lx-pinsearch .lx-search { margin: 0; }
.v2 .lx-pintools { display: flex; gap: 8px; }
.v2 .lx-pintools .lx-chip { min-height: 44px; gap: 6px; }
.v2 .lx-pintools .lx-icon { width: 20px; height: 20px; }
.v2 .lx-pingrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
@container (min-width: 560px) { .v2 .lx-pingrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@container (min-width: 840px) { .v2 .lx-pingrid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.v2 .lx-pintile > a, .v2 .lx-pintile > span[role="img"], .v2 .lx-pintile > button { display: block; width: 100%; padding: 0; border: 0; background: none; color: inherit; text-decoration: none; cursor: pointer; }
.v2 .lx-pinface { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border: 2px solid var(--ink); border-radius: 10px 11px 9px 12px; background: var(--plate); }
.v2 .lx-pintile.is-plate .lx-pinface { border-color: #dcdad3; }
.v2 .lx-pintile.is-sold .lx-pinface img { opacity: 0.5; filter: grayscale(0.6); }
.v2 .lx-pinprice { position: absolute; left: 4px; bottom: 4px; display: grid; justify-items: start; gap: 3px; }
.v2 .lx-pinprice .lx-sticker { padding: 2px; box-shadow: 0 1px 2px rgba(11, 12, 11, 0.3); }
.v2 .lx-pinprice { right: 4px; }
.v2 .lx-pinprice .lx-sticker-in { min-height: 22px; padding: 0 6px; font-size: 13px; border-width: 2px; }
.v2 .lx-pintile.is-sold .lx-pinprice .lx-sticker-in { white-space: normal; line-height: 1.1; padding: 2px 6px; font-size: 12px; }
.v2 .lx-pinboard { padding: 0 6px; font-size: 11px; font-weight: 700; background: #fff; border: 2px solid var(--ink); border-radius: 999px; }
.v2 .lx-pinmore { display: grid; gap: 6px; }
.v2 .lx-pinend { margin: 6px 0 0; text-align: center; font-size: 14px; color: var(--mute); }
.v2 .lx-pinsheet .lx-pinsheet-photo { margin: 4px 0 8px; }
.v2 .lx-pinsheet-actions { display: grid; gap: 8px; margin-top: 8px; }
.v2 .lx-sortrow { min-height: 48px; font-size: 16px; }
.v2 .lx-pintag { position: absolute; right: 3px; bottom: 3px; max-width: calc(100% - 6px); padding: 0 5px; font: 700 11px/16px var(--text); background: #fff; color: var(--ink); border: 1.6px solid var(--ink); border-radius: 6px 7px 5px 7px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2 .lx-pintag.is-sold { background: var(--coral); white-space: normal; overflow: visible; line-height: 13px; padding: 2px 5px; text-align: left; }
.v2 .lx-pintag.is-hold { background: var(--lilac); white-space: normal; overflow: visible; line-height: 13px; padding: 2px 5px; text-align: left; }
.v2 .lx-boardscroll, .v2 .lx-singlerow { scroll-padding-inline: 16px; }
.v2 .lx-pinshead { margin: 4px 0 0; flex-wrap: wrap; }
.v2 .lx-pinshead .lx-h2, .v2 .lx-pinshead .lx-logotype { margin: 0; }
.v2 .lx-boardsrow { display: grid; gap: 6px; }
.v2 .lx-boardsrow .lx-h2 { margin: 0; }
.v2 .lx-boardscroll { list-style: none; margin: 0 -16px; padding: 2px 16px 6px; display: grid; grid-auto-flow: column; grid-auto-columns: 44%; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.v2 .lx-boardscroll > li { scroll-snap-align: start; }
.v2 .lx-boardtile { display: grid; gap: 4px; color: inherit; text-decoration: none; }
.v2 .lx-boardface { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 5; overflow: hidden; border: 2px solid var(--ink); border-radius: 12px 13px 11px 14px; background: var(--plate); }
.v2 .lx-boardcap { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-size: 14px; }
.v2 .lx-boardcap b { font-size: 16px; }
.v2 .lx-boardcap span { color: var(--mute); font-weight: 600; }
.v2 .lx-seeall .lx-boardface { gap: 6px; align-content: center; font: 400 18px/1.1 var(--display); text-align: center; padding: 10px; background: var(--paper-tex) 0 0 / 48px 48px, var(--marigold); }
.v2 .lx-seeall .lx-icon { transform: scaleX(-1); }
.v2 .lx-boardgroup { display: grid; gap: 8px; margin-top: 6px; }
.v2 .lx-boardgroup .lx-h2 { margin: 0; }
.v2 .lx-boardcount { color: var(--mute); }
.v2 .lx-boardgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; }
@container (min-width: 560px) { .v2 .lx-boardgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.v2 .lx-singles { padding-top: 14px; }
.v2 .lx-singlerow { list-style: none; margin: 0 -16px; padding: 2px 16px 4px; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px - 16px) / 3); gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.v2 .lx-singlerow > .lx-pintile { scroll-snap-align: start; }
.v2 .lx-gridhead { display: grid; gap: 6px; justify-items: start; margin-bottom: 8px; }
.v2 .lx-gridhead .lx-body { margin: 0; }
.v2 .lx-gridlist { list-style: none; margin: 8px 0 0; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v2 .lx-gridlist > .lx-tile > a, .v2 .lx-gridlist > .lx-tile > div { display: block; color: inherit; text-decoration: none; }
.v2 .lx-gridlist .lx-tile-row { flex-wrap: wrap; justify-content: flex-start; }
.v2 .lx-left { font-size: 14px; font-weight: 600; color: var(--mute); }
.v2 .lx-nophoto { position: absolute; inset: 0; display: grid; place-items: center; font-size: 13px; color: var(--mute); }
.v2 .lx-searchform { display: grid; gap: 8px; margin: 4px 0 8px; }
.v2 .lx-searchform .lx-search { margin: 0; }
.v2 .lx-searchrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.v2 .lx-selectfield { flex: 1 1 160px; min-height: 48px; }
.v2 .lx-progress { padding: 12px 14px; margin: 4px 0 10px; }
.v2 .lx-progress .lx-tile-row { margin: 0; }
.v2 .lx-gridroom { min-height: 100%; }
.v2 .lx-thumbs:has(.lx-thumb-photo) { flex-wrap: wrap; gap: 14px; padding-top: 9px; }
.v2 .lx-thumb-photo { overflow: visible; }
.v2 .lx-thumb-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: inherit; }
.v2 .lx-thumb-x { position: absolute; top: -9px; right: -9px; width: 28px; height: 28px; display: grid; place-items: center; padding: 0; border: 2.2px solid var(--ink); border-radius: 50%; background: #fff; color: var(--ink); cursor: pointer; }
.v2 .lx-thumb-x::after { content: ""; position: absolute; inset: -8px; }
.v2 .lx-thumb-x .lx-icon { width: 16px; height: 16px; stroke-width: 3; }
.v2 .lx-thumb-x:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
.v2 .lx-sellfaq { display: grid; gap: 10px; margin-top: 24px; }
.v2 .lx-sellfaq .lx-h2 { margin: 0; }
.v2 .lx-check input[type="radio"] + .lx-box { border-radius: 50%; }
.v2 .lx-tradein, .v2 .lx-tradestages, .v2 .lx-credit, .v2 .lx-creditpay { display: grid; gap: 8px; margin-top: 12px; }
.v2 .lx-tradein .lx-tile-row { margin-top: 0; }
.v2 .lx-tradein .lx-body, .v2 .lx-tradein .lx-sub, .v2 .lx-tradestages .lx-body, .v2 .lx-credit .lx-sub, .v2 .lx-credit .lx-label, .v2 .lx-credit .lx-price-lg, .v2 .lx-creditpay .lx-body, .v2 .lx-creditpay .lx-sub { margin: 0; }
.v2 .lx-tradepick { display: grid; gap: 6px; }
.v2 .lx-stages { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 15px; color: var(--mute); }
.v2 .lx-stages li { display: flex; align-items: center; gap: 10px; }
.v2 .lx-stagedot { flex: none; width: 14px; height: 14px; border: 2px solid var(--mute); border-radius: 50%; background: #fff; }
.v2 .lx-stages li.is-done { color: var(--ink); }
.v2 .lx-stages li.is-done .lx-stagedot { border-color: var(--ink); background: var(--ink); }
.v2 .lx-stages li.is-now { color: var(--ink); font-weight: 700; }
.v2 .lx-stages li.is-now .lx-stagedot { width: 18px; height: 18px; margin: -2px; border: 2.4px solid var(--ink); background: var(--marigold); }
.v2 .lx-stagesub { display: block; font-size: 13px; font-weight: 600; color: var(--mute); }
.v2 .lx-ledger { display: grid; gap: 8px; margin: 4px 0 0; padding: 8px 0 0; list-style: none; border-top: 2px solid var(--plate); }
.v2 .lx-ledger li { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; font-size: 15px; }
.v2 .lx-tradeinhand { display: grid; gap: 10px; margin-top: 12px; }
.v2 .lx-tradeinhand .lx-tile-row { margin-top: 0; }
.v2 .lx-tradeinhand .lx-h2, .v2 .lx-tradeinhand .lx-body { margin: 0; }
.v2 .lx-tradeinsteps { display: grid; gap: 6px; margin: 0; padding: 0 0 0 22px; list-style: decimal; font-size: 15px; line-height: 1.4; color: var(--mute); }
.v2 .lx-tradeinsteps li.is-now, .v2 .lx-tradeinsteps li.is-done { color: var(--ink); }
.v2 .lx-tradeinsteps li.is-now::marker { font-weight: 800; }
.v2 .lx-tradeinfields { display: grid; gap: 10px; }
.v2 .lx-tradeinship { padding: 12px 14px; background: var(--plate); border-radius: 12px 14px 11px 13px; }
.v2 .lx-tradeinship .lx-label { margin: 0 0 4px; }
.v2 .lx-tradeinship address { display: grid; font-style: normal; font-size: 16px; font-weight: 600; line-height: 1.4; }
.v2 .lx-thumbs-sum { margin-left: auto; text-align: right; font-size: 14px; color: var(--mute); line-height: 1.3; }
.v2 .lx-thumbs-sum b { color: var(--ink); font-size: 18px; }
.v2 .lx-card { padding: 16px 18px; margin-bottom: 12px; font-size: 16px; line-height: 1.45; }
.v2 .lx-card .lx-quietlink { min-height: 44px; }
.v2 .lx-ship { margin: 4px 2px 14px; font-size: 16px; }
.v2 .lx-meter { position: relative; display: block; height: 18px; margin-top: 8px; border: 2.4px solid var(--ink); border-radius: 12px 10px 13px 11px; overflow: hidden; }
.v2 .lx-meter-fill { position: absolute; inset: 0 auto 0 0; isolation: isolate; border-right: 2.4px solid var(--ink); }
.v2 .lx-meter-fill::before { content: ""; position: absolute; inset: 0; z-index: -1; }
.v2 .lx-nudge { display: grid; gap: 10px; justify-items: start; }
.v2 .lx-sum { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; margin: 6px 2px 0; font-size: 16px; }
.v2 .lx-sum b { font: 400 22px/1.2 var(--display); margin-top: 4px; }
.v2 .lx-empty { display: grid; justify-items: center; text-align: center; gap: 8px; padding: 28px 10px 30px; }
.v2 .lx-doodle { width: 56px; height: 56px; fill: var(--lilac); stroke: var(--ink); stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; transform: rotate(-12deg); }
.v2 .lx-empty-title { font: 400 28px/1.05 var(--display); }
.v2 .lx-empty .lx-btn { margin-top: 8px; }
.v2 .lx-oops { display: grid; gap: 4px; margin-top: 8px; }
.v2 .lx-oops::before { content: ""; position: absolute; inset: 5px 6px 5px 5px; z-index: -1; border-radius: 16px 20px 14px 18px; }
.v2 .lx-logotype { display: flex; flex-wrap: wrap; margin: 0; font: 400 38px/1.08 var(--font-v2-display), system-ui, sans-serif; isolation: isolate; letter-spacing: 0.01em; }
.v2 .lx-logotype-xl { font-size: 46px; }
.v2 .lx-lt { position: relative; z-index: 0; }
.v2 .lx-lt-f { color: transparent;
  background: radial-gradient(0.07em 0.05em at 32% 40%, #fff 70%, transparent 100%), var(--paper-tex) 0 0 / 48px 48px, var(--paper-tex) 17px 29px / 71px 71px, var(--c);
  -webkit-background-clip: text; background-clip: text; }
.v2 .lx-lt::before { content: attr(data-ch); position: absolute; left: 0; top: 0; z-index: -1; color: var(--ink); -webkit-text-stroke: 0.085em var(--ink); }
.v2 .lx-lt-space { display: inline-block; width: 0.26em; }
.v2 .lx-lt-word { display: inline-flex; white-space: nowrap; }
.v2 .lx-logotype-md { font-size: 34px; }
.v2 .lx-colorin { position: relative; display: block; width: 190px; }
.v2 .lx-ci-base { filter: grayscale(1) brightness(1.75) contrast(1.25); }
.v2 .lx-ci-top { position: absolute; left: 0; top: 0; }
@media (prefers-reduced-motion: no-preference) {
  html[data-colorin] .v2 .lx-ci-top {
    -webkit-mask-image: linear-gradient(105deg, #000 0 40%, rgba(0, 0, 0, 0.55) 46%, transparent 52%);
    mask-image: linear-gradient(105deg, #000 0 40%, rgba(0, 0, 0, 0.55) 46%, transparent 52%);
    -webkit-mask-size: 300% 100%; mask-size: 300% 100%;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
    animation: lx-colorin 800ms cubic-bezier(0.3, 0.7, 0.4, 1) 150ms both;
  }
}
@keyframes lx-colorin { from { -webkit-mask-position: 100% 0; mask-position: 100% 0; } to { -webkit-mask-position: 0 0; mask-position: 0 0; } }
.v2 .lx-vibes { padding: 12px 14px 4px; display: grid; gap: 12px; }
.v2 .lx-vibe-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 10px; padding: 2px 0 6px; }
.v2 .lx-vibe-row > .lx-vibe { flex: 0 0 calc((100% - 10px) / 2); }
.v2 .lx-vibe { display: block; padding: 4px; background: #fff; border-radius: 16px 19px 15px 20px;
  box-shadow: 0 2px 5px rgba(11, 12, 11, 0.2); }
.v2 .lx-vibe-in { position: relative; isolation: isolate; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 3px; min-height: 64px; padding: 7px 6px; text-align: center;
  border: 2.6px solid var(--ink); border-radius: 13px 16px 12px 17px; }
.v2 .lx-vibe-row > .lx-vibe { min-width: 0; }
.v2 .lx-vibe-row .lx-vibe-in { flex-direction: column; justify-content: center; min-height: 86px; gap: 4px; text-align: center; padding: 9px 8px 10px; }
.v2 .lx-vibe-row .lx-vibe-label { font-size: clamp(17px, 5.2vw, 20px); }
.v2 .lx-vibe-row .lx-vibe-doodle { width: 32px; height: 32px; }
.v2 .lx-vibe-season .lx-vibe-in { flex-direction: row; }
.v2 .lx-vibe-in::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
  background: var(--paper-tex) 0 0 / 48px 48px, var(--paper-tex) 17px 29px / 71px 71px, var(--c); }
.v2 .lx-vibe-doodle { flex: none; width: 26px; height: 26px; fill: #fff; stroke: var(--ink); stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; }
.v2 .lx-vibe-label { font: 400 18px/1.05 var(--font-v2-display), system-ui, sans-serif; }
.v2 .is-season .lx-vibe-in { min-height: 76px; justify-content: center; }
.v2 .is-season .lx-vibe-label { font-size: 26px; }
.v2 .lx-vibe-when { font-size: 13px; font-weight: 700; padding: 2px 8px; border: 2px solid var(--ink); border-radius: 999px; background: #fff; }
.v2 .lx-tf { position: relative; padding: 9px; }
.v2 .lx-tf::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  border: 24px solid transparent; border-image-slice: 40; border-image-width: 24px; border-image-repeat: stretch; }
.v2 .lx-tf.t1::after { border-image-source: url("/ui/tile1.svg"); }
.v2 .lx-tf.t2::after { border-image-source: url("/ui/tile2.svg"); }
.v2 .lx-tf.t3::after { border-image-source: url("/ui/tile3.svg"); }
.v2 .lx-tf > .lx-plate { border-radius: 12px; }
.v2 .lx-tf + .lx-price, .v2 .lx-tf + .lx-name, .v2 .lx-tf + .lx-brand, .v2 .lx-tf + .lx-tile-row { margin-top: 4px; }
.v2 .lx-justin { padding-top: 10px; }
.v2 .lx-justin-tile { width: 132px; }
.v2 .lx-justin-tile .lx-price { margin-top: 6px; }
.v2 .lx-welcome { margin: 4px 14px 2px; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.v2 .lx-welcome .lx-body { margin: 0; font-size: 15px; line-height: 1.35; }
.v2 .lx-welcome .lx-quietlink { flex: none; font-size: 14px; }
.v2 .lx-tradein-home { margin: 14px 14px 4px; padding: 16px; display: grid; gap: 10px; justify-items: start; background: #fff; }
.v2 .lx-tradein-home .lx-h2, .v2 .lx-tradein-home .lx-body { margin: 0; }
.v2 .lx-signup { margin: 10px 16px 16px; padding: 14px 16px; display: grid; gap: 10px; }
.v2 .lx-signup-q { font-size: 15px; font-weight: 700; line-height: 1.35; }
.v2 .lx-signup-row { display: flex; gap: 8px; align-items: center; }
.v2 .lx-field { flex: 1; min-width: 0; min-height: 48px; padding: 0 12px; border: 2px solid var(--ink); border-radius: 12px 14px 11px 13px; font: 16px var(--text); color: var(--ink); background: #fff; }
.v2 .lx-lines { list-style: none; margin: 8px 0 0; padding: 0; border-top: 1.5px solid #d8d6cf; }
.v2 .lx-line { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; padding: 12px 0; border-bottom: 1.5px solid #d8d6cf; align-items: start; }
.v2 .lx-line .lx-thumb { width: 64px; height: 64px; }
.v2 .lx-line .lx-name { margin: 0; }
.v2 .lx-sub { font-size: 14px; color: var(--mute); line-height: 1.4; margin: 2px 0 0; }
.v2 .lx-remove { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.v2 .lx-line-price { font-weight: 700; margin: 0; }
.v2 .lx-hold { font-weight: 700; font-size: 15px; margin: 4px 0 10px; }
.v2 .lx-chip { min-width: 64px; justify-content: center; }
.v2 .lx-phone.is-tall { height: auto; overflow: clip; }
.v2 .lx-phone.is-tall .lx-scroll { height: auto; overflow: visible; padding-bottom: 12px; }
.v2 .lx-phone.is-tall .lx-dock { position: sticky; }
.v2 .lx-phone.is-tall .lx-sheet { position: absolute; }
.v2 .lx-mt { margin-top: 18px; }
.v2 .lx-nav5 { grid-template-columns: repeat(5, 1fr); }
.v2 .lx-nav5 .lx-navitem { font-size: 12px; }
.v2 .lx-headicons { display: flex; }
.v2 .lx-gallery { display: grid; gap: 6px; margin-bottom: 12px; }
.v2 .lx-plate-hero { aspect-ratio: 1; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.8 5.4c4.8-.3 9.6-.3 14.4 0 .3 4.4.3 8.8 0 13.2-4.8.3-9.6.3-14.4 0-.3-4.4-.3-8.8 0-13.2ZM6.9 16.1l3.4-4.1 2.6 2.8 1.9-2.1 2.4 3.4M15.3 8.4h.1' fill='none' stroke='%23d4d1c7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 76px 76px no-repeat, var(--plate); }
.v2 .lx-dots { display: flex; gap: 6px; justify-content: center; }
.v2 .lx-dots b, .v2 .lx-dots i { width: 8px; height: 8px; border-radius: 50%; border: 2px solid var(--ink); }
.v2 .lx-dots b { background: var(--ink); }
.v2 .lx-hint { margin: 0; text-align: center; font-size: 13px; color: var(--mute); }
.v2 .lx-chiprow { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.v2 .lx-tagchip { font-size: 13px; font-weight: 700; padding: 3px 10px; border: 2px solid var(--ink); border-radius: 999px 900px 950px 999px; background: #fff; }
.v2 .lx-pricerow { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; margin: 6px 0; }
.v2 .lx-pricerow .lx-sticker-in { white-space: normal; }
.v2 .lx-revline { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; font-size: 15px; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.v2 .lx-stars { display: inline-flex; gap: 1px; }
.v2 .lx-stars svg { width: 18px; height: 18px; fill: #fff; stroke: var(--ink); stroke-width: 1.8; stroke-linejoin: round; }
.v2 .lx-stars svg.is-on { fill: var(--marigold); }
.v2 .lx-details { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 10px 0 12px; font-size: 15px; }
.v2 .lx-details dt { font-weight: 700; color: var(--mute); }
.v2 .lx-details dd { margin: 0; }
.v2 .lx-policy { display: grid; gap: 6px; margin-top: 12px; }
.v2 .lx-policy p { margin: 0; }
.v2 .lx-search { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 12px; margin: 10px 0 4px; border: 2.4px solid var(--ink); border-radius: 14px 16px 13px 15px; background: #fff; }
.v2 .lx-search input { flex: 1; min-width: 0; border: 0; font: 16px var(--text); background: transparent; color: var(--ink); }
.v2 .lx-search input:focus { outline: none; }
.v2 .lx-search:focus-within { outline: 3px solid var(--ink); outline-offset: 2px; }
.v2 .lx-chips-sm { margin-top: 8px; margin-bottom: 4px; }
.v2 .lx-wrap { flex-wrap: wrap; overflow: visible; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
.v2 .lx-chip-sm { min-height: 44px; padding: 0 14px; font-size: 14px; gap: 4px; }
.v2 .lx-chip-sm .lx-icon { width: 18px; height: 18px; }
.v2 .lx-count { font-size: 14px; color: var(--mute); margin: 6px 0 10px; }
.v2 .lx-brand { font-size: 12px; font-weight: 700; color: var(--mute); margin: 8px 0 0; }
.v2 .lx-tile .lx-name { margin-top: 2px; }
.v2 .is-sold .lx-plate img { opacity: 0.45; filter: grayscale(0.6); }
.v2 .lx-stamp-static { position: absolute; left: 8px; top: 38%; padding: 3px 9px; border: 3px solid #b3122d; border-radius: 10px 12px 9px 11px; background: rgba(255, 255, 255, 0.9); color: #b3122d; font: 400 16px/1.1 var(--font-v2-display), system-ui, sans-serif; transform: rotate(-9deg); }
.v2 .lx-soldline { font-size: 13px; color: var(--mute); margin: 2px 0 0; line-height: 1.35; }
.v2 .lx-soldline .lx-quietlink { min-height: 0; font-size: 13px; color: var(--ink); }
.v2 .lx-sheet-head { display: flex; justify-content: space-between; align-items: center; }
.v2 .lx-checks { display: grid; gap: 4px; }
.v2 .lx-check { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 16px; font-weight: 600; }
.v2 .lx-box { width: 26px; height: 26px; display: grid; place-items: center; border: 2.4px solid var(--ink); border-radius: 7px 8px 6px 8px; background: #fff; }
.v2 .lx-box.is-on { background: var(--cyan); }
.v2 .lx-box .lx-icon { width: 20px; height: 20px; stroke-width: 3; }
.v2 .lx-express { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.v2 .lx-paybtn { min-height: 48px; display: grid; place-items: center; border-radius: 10px; background: #000; color: #fff; font: 600 16px system-ui, sans-serif; }
.v2 .lx-or { text-align: center; font-size: 14px; color: var(--mute); margin: 12px 0 8px; }
.v2 .lx-cardform { display: grid; gap: 8px; margin-bottom: 14px; }
.v2 .lx-fieldrow { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.v2 .lx-fake { display: flex; align-items: center; color: #6b6a66; }
.v2 .lx-swap { padding: 14px 16px; margin: 8px 0; display: grid; gap: 6px; }
.v2 .lx-swaprow { display: flex; align-items: center; gap: 8px; }
.v2 .lx-swaprow .lx-thumb { width: 56px; height: 56px; }
.v2 .lx-swaprow .lx-sticker { margin-left: auto; }
.v2 .lx-track { list-style: none; margin: 14px 0; padding: 0; display: grid; gap: 0; }
.v2 .lx-track li { position: relative; display: flex; gap: 12px; align-items: flex-start; padding-bottom: 18px; }
.v2 .lx-track li::before { content: ""; position: absolute; left: 15px; top: 30px; bottom: 0; width: 3px; background: var(--ink); border-radius: 2px; }
.v2 .lx-track li:last-child::before { display: none; }
.v2 .lx-trackdot { flex: none; width: 33px; height: 33px; display: grid; place-items: center; border: 3px solid var(--ink); border-radius: 50%; background: #fff; }
.v2 .lx-track .is-done .lx-trackdot { background: var(--cyan); }
.v2 .lx-track .is-now .lx-trackdot { background: var(--pink); }
.v2 .lx-trackdot .lx-icon { width: 20px; height: 20px; stroke-width: 3; }
.v2 .lx-sheet-tall { max-height: 96%; overflow-y: auto; gap: 6px; padding-bottom: 16px; }
.v2 .lx-sheet-tall .lx-label { margin: 4px 0 0; }
.v2 .lx-sheet-tall .lx-chips-sm { margin: 0; gap: 6px 6px; }
.v2 .lx-sheet-tall .lx-chip-sm { min-height: 44px; }
.v2 .lx-sheet-tall .lx-area { min-height: 60px; }
.v2 .lx-flabel { display: grid; gap: 4px; font-size: 14px; font-weight: 700; }
.v2 .lx-area { min-height: 72px; padding-top: 10px; resize: none; }
.v2 .lx-sent { display: grid; justify-items: center; text-align: center; gap: 10px; padding: 10px 6px 16px; }
.v2 .lx-revsum { display: flex; align-items: center; gap: 12px; margin: 10px 0 4px; }
.v2 .lx-review { padding: 14px 0; border-bottom: 1.5px solid #d8d6cf; display: grid; gap: 6px; }
.v2 .lx-revhead { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.v2 .lx-verified { display: inline-flex; align-items: center; gap: 3px; font-size: 13px; font-weight: 700; padding: 2px 9px 2px 5px; border: 2px solid var(--ink); border-radius: 999px; background: var(--cyan); }
.v2 .lx-verified .lx-icon { width: 16px; height: 16px; stroke-width: 3; }
.v2 .lx-revmeta { display: flex; align-items: center; gap: 10px; }
.v2 .lx-revphoto { position: relative; width: 120px; height: 120px; border-radius: 14px 16px 13px 15px; overflow: hidden; background: var(--plate); }
.v2 .lx-reply { margin-left: 14px; padding: 10px 12px; border-left: 3px solid var(--ink); background: var(--plate); border-radius: 0 12px 12px 0; }
.v2 .lx-reply .lx-body { margin: 0; font-size: 15px; }
.v2 .lx-review + .lx-btn { margin-top: 14px; }
.v2 .lx-letter { padding: 22px 22px 20px; margin: 16px 0 6px; }
.v2 .lx-letter p { margin: 0; font-size: 17px; line-height: 1.62; }
.v2 .lx-letter-h { margin: 0 0 8px; font-size: 14px; font-weight: 700; color: var(--mute); }
.v2 .lx-letter-close { margin-top: 14px !important; }
.v2 .lx-sig { position: relative; display: inline-block; margin-top: 2px !important; font: 600 32px/1.1 var(--lab-caveat), cursive; transform: rotate(-2deg); transform-origin: left center; }
.v2 .lx-sig-line { display: block; width: 100%; height: 10px; margin-top: -2px; }
.v2 .lx-sig-line path { fill: none; stroke: var(--ink); stroke-width: 2.2; stroke-linecap: round; }
.v2 .lx-sig-sm { font-size: 26px; }
.v2 .lx-sig.is-type { font: 400 26px/1.15 var(--display); }
.v2 .lx-found { display: grid; gap: 6px; margin: 0 0 14px; }
.v2 .lx-found p { margin: 0; }
.v2 .lx-processing { display: grid; gap: 10px; }
.v2 .lx-processing p { margin: 0; }
.v2 .lx-skel { display: block; background: var(--plate); border-radius: 10px 12px 9px 11px; }
.v2 .lx-skel-vibe { flex: 0 0 calc((100% - 16px) / 3); height: 72px; border-radius: 16px 19px 15px 20px; }
.v2 .lx-skel-line { height: 14px; width: 72%; margin-top: 10px; }
.v2 .lx-skel-line.is-short { width: 44%; margin-top: 6px; }
.v2 .lx-skel-title { height: 28px; width: 84%; margin: 4px 0 8px; }
.v2 .lx-skel-photo { aspect-ratio: 4 / 5; border-radius: 12px; }
.v2 .lx-trouble { display: grid; justify-items: center; text-align: center; gap: 10px; padding: 26px 20px 22px; margin: 14px 0; }
.v2 .lx-trouble p { margin: 0; font-size: 17px; line-height: 1.45; font-weight: 600; }
.v2 .lx-trouble-doodle { width: 44px; height: 44px; fill: none; stroke: var(--ink); stroke-width: 2.1; stroke-linecap: round; transform: rotate(-10deg); }
.v2 .lx-trouble .lx-btn { gap: 6px; }
.v2 .lx-trade-pin { display: flex; align-items: center; gap: 14px; margin: 6px 0 12px; }
.v2 .lx-trade-pin p, .v2 .lx-trade-pin h1 { margin: 0; }
.v2 .lx-trade-photo { flex: none; position: relative; width: 96px; height: 96px; border: 2.6px solid var(--ink); border-radius: 18px; overflow: hidden; background: var(--plate); }
.v2 .lx-trade-pref { margin: 0 0 16px; padding: 12px 14px; border-radius: 16px; background: color-mix(in srgb, var(--lilac) 26%, #fff); font-size: 15px; line-height: 1.45; }
.v2 .lx-trade-steps { margin: 6px 0 16px; padding-left: 22px; list-style: decimal; display: grid; gap: 6px; font-size: 15px; line-height: 1.45; color: var(--mute); }
.v2 .lx-trade-terms { display: grid; gap: 8px; margin: 6px 0 0; padding: 0; list-style: none; font-size: 15px; line-height: 1.45; color: var(--mute); }
.v2 .lx-trade-terms b { color: var(--ink); }
.v2 .lx-trade-form { display: grid; gap: 14px; margin-top: 16px; }
.v2 .lx-trade-hint { margin: -6px 0 0; text-align: center; }
.v2 .lx-trade-end { display: grid; gap: 8px; justify-items: start; margin-top: 8px; }
.v2 .lx-trade-end p { margin: 0; }
.v2 .lx-invite { display: grid; gap: 10px; }
.v2 .lx-invite.is-card { margin: 12px 0; padding: 16px 16px 14px; background: #fff; border: 2.6px solid var(--ink); border-radius: 22px 24px 21px 25px; box-shadow: 0 0 0 4px var(--lilac); }
.v2 .lx-invite.is-sheet { gap: 10px; box-shadow: 0 -2px 0 2.6px var(--ink), 0 -8px 0 4px var(--lilac); }
.v2 .lx-invite-head { display: grid; gap: 6px; justify-items: start; }
.v2 .lx-invite-mark { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px 4px 6px; background: #fff; border: 2px solid var(--ink); border-radius: 999px; font: 400 15px/1 var(--display); color: var(--ink); white-space: nowrap; }
.v2 .lx-invite-mark svg { width: 22px; height: 22px; fill: var(--lilac); stroke: var(--ink); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.v2 .lx-invite-the { font-size: 11px; }
.v2 .lx-invite-h { margin: 0; font: 400 22px/1.15 var(--display); color: var(--ink); }
.v2 .lx-invite-lead { margin: 0; font-size: 16px; font-weight: 700; }
.v2 .lx-invite-perks { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.v2 .lx-invite-perks li { display: flex; align-items: center; gap: 10px; font-size: 15px; line-height: 1.3; }
.v2 .lx-invite-ico { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px 13px 12px 10px; background: var(--c); border: 2.2px solid var(--ink); }
.v2 .lx-invite-ico .lx-icon { width: 20px; height: 20px; }
.v2 .lx-invite-quiet { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.v2 .lx-invite-quiet .lx-sub { margin: 0; }
.v2 .lx-invite-foot { margin: 0; text-align: center; }
.v2 .lx-brline { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0 0; padding: 10px 12px; background: color-mix(in srgb, var(--lilac) 22%, #fff); border-radius: 14px; font-size: 14px; line-height: 1.4; }
.v2 .lx-brline svg { flex: none; width: 20px; height: 20px; margin-top: 1px; fill: var(--lilac); stroke: var(--ink); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.v2 .lx-invite-signin { display: grid; gap: 6px; padding-top: 10px; border-top: 2px dashed var(--plate); }
.v2 .lx-invite-signin .lx-sub { margin: 0; }
.v2 .lx-oops-page { padding: 20px 20px 18px; }
.v2 .lx-nf { padding-top: 36px; }
.v2 .lx-nf .lx-sub { max-width: 30em; margin: 0; }
.v2 .lx-errref { margin: 18px 0 0; font-size: 13px; line-height: 1.45; color: var(--mute); overflow-wrap: anywhere; }
.v2 .lx-errref code { font-family: ui-monospace, Menlo, Consolas, monospace; }
.v2 .lx-doodle-fallen { transform: rotate(-104deg); }
.v2 .lx-notice { position: relative; isolation: isolate; padding: 10px 16px 12px; text-align: center; font-size: 15px; line-height: 1.4; }
.v2 .lx-notice::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: var(--paper-tex) 0 0 / 48px 48px, var(--paper-tex) 17px 29px / 71px 71px, var(--c); }
.v2 .lx-notice::after { content: ""; position: absolute; left: 0; right: 0; top: -2px; bottom: -2px; pointer-events: none;
  background: url("/ui/rule.svg") top / 100% 5px no-repeat, url("/ui/rule.svg") bottom / 100% 5px no-repeat; }
.v2 .lx-notice p { margin: 0; }
.v2 .lx-notice-h { font: 400 19px/1.15 var(--display); margin-bottom: 3px !important; }
.v2 .lx-notice-time { display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; }
.v2 .lx-notice-time .lx-icon { width: 17px; height: 17px; }
.v2 .lx-notice-link { position: relative; font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; white-space: nowrap; }
.v2 .lx-notice-link::after { content: ""; position: absolute; inset: -12px -6px; }
.v2 .lx-notice.is-advent { color: #fbf5ee; }
.v2 .lx-notice.is-advent::before { background: #2f6b4f; }
.v2 .lx-was { color: var(--mute); font-weight: 600; margin-right: 2px; }
.v2 .lx-sticker-in .lx-was { color: var(--ink); }
.v2 .lx-curtain { position: relative; min-height: 100%; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: 12px; padding: 42px 22px 22px; background: #fff; }
.v2 .lx-curtain .lx-logotype { justify-content: center; }
.v2 .lx-curtain .lx-body { margin: 0; }
.v2 .lx-curtain.is-live { justify-content: center; gap: 16px; }
.v2 .lx-curtain.is-sulk { filter: grayscale(1) contrast(0.92); }
.v2 .lx-curtain.is-sulk .lx-logotype { transform: rotate(-4deg) translateY(4px); }
.v2 .lx-tape { position: relative; isolation: isolate; margin: 0; padding: 4px 14px; border: 2.4px solid var(--ink); border-radius: 8px 10px 7px 9px;
  font-weight: 700; font-size: 15px; transform: rotate(-3deg); }
.v2 .lx-tape::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
  background: var(--paper-tex) 0 0 / 48px 48px, var(--paper-tex) 17px 29px / 71px 71px, var(--c); }
.v2 .lx-clock { display: flex; gap: 10px; }
.v2 .lx-clock-cell { width: 78px; padding: 12px 0 10px; display: grid; justify-items: center; }
.v2 .lx-clock-cell b { font: 400 34px/1 var(--display); }
.v2 .lx-clock-cell span { font-size: 13px; font-weight: 700; color: var(--mute); }
.v2 .lx-curtain-join { width: 100%; display: grid; gap: 8px; text-align: left; margin-top: 6px; }
.v2 .lx-pausetrivia { width: 100%; box-sizing: border-box; display: grid; gap: 6px; text-align: left; }
.v2 .lx-pausetrivia p { margin: 0; }
.v2 .lx-curtain-foot { margin-top: auto; }
.v2.lx-rs-cover { position: fixed; inset: 0; z-index: 80; overflow-y: auto; overscroll-behavior: contain; }
.v2.lx-rs-cover .lx-curtain { padding-bottom: calc(22px + env(safe-area-inset-bottom)); }
.v2 .lx-rs-late { display: grid; gap: 4px; justify-items: center; max-width: 30em; }
.v2 .lx-rs-late p { margin: 0; }
.v2 .lx-rs-in { margin: 0; }
.v2 button.lx-rs-pass { background: none; border: 0; padding: 0; font-family: inherit; color: inherit; cursor: pointer; }
.v2 .lx-rs-ig .lx-icon { width: 22px; height: 22px; margin-right: 8px; }
.v2 .lx-rs-browse { width: 100%; display: grid; gap: 2px; justify-items: center; padding-top: 10px; }
.v2 .lx-rs-browse .lx-sub { margin: 0; }
.v2 .lx-rs-links { display: flex; gap: 22px; justify-content: center; margin: 0; }
.v2 .lx-article p { font-size: 17px; line-height: 1.62; }
.v2 .lx-article .lx-h2 { margin: 22px 0 6px; }
.v2 .lx-lede { color: var(--mute); margin: 8px 0 14px; }
.v2 .lx-toc { padding: 14px 18px 10px; margin-bottom: 8px; }
.v2 .lx-toc ol { list-style: none; margin: 4px 0 0; padding: 0; }
.v2 .lx-toc li { display: flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 700; font-size: 16px; }
.v2 .lx-toc-n { flex: none; width: 26px; height: 26px; display: grid; place-items: center; border: 2.2px solid var(--ink); border-radius: 50%; font-size: 13px; }
.v2 .lx-faq { display: grid; gap: 10px; }
.v2 .lx-faq-item { padding: 14px 18px; }
.v2 .lx-faq-q { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 44px; margin: 0; font-weight: 700; font-size: 16px !important; line-height: 1.3 !important; }
.v2 .lx-faq-q .lx-icon { flex: none; width: 22px; height: 22px; }
.v2 .lx-faq-a { margin: 8px 0 2px; font-size: 16px !important; line-height: 1.55 !important; }
.v2 .lx-acct-tab { display: grid; gap: 6px; justify-items: start; }
.v2 .lx-acct-tab .lx-meter { width: 100%; box-sizing: border-box; }
.v2 .lx-acct-tab p { margin: 0; }
.v2 .lx-acct { list-style: none; margin: 10px 0 8px; padding: 0; border-top: 1.5px solid #d8d6cf; }
.v2 .lx-acct-row { display: grid; grid-template-columns: 28px 1fr auto 20px; gap: 10px; align-items: center; min-height: 62px; padding: 6px 0; border-bottom: 1.5px solid #d8d6cf; }
.v2 .lx-acct-ic { width: 26px; height: 26px; fill: none; stroke: var(--ink); stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; }
.v2 .lx-acct-txt { display: grid; min-width: 0; }
.v2 .lx-acct-txt b { font-size: 16px; }
.v2 .lx-acct-txt .lx-sub { margin: 0; }
.v2 .lx-acctmember { display: grid; gap: 6px; justify-items: start; margin: 4px 0 12px; }
.v2 .lx-acctmember.lx-trouble { justify-items: center; }
.v2 .lx-returning { display: grid; gap: 14px; }
.v2 .lx-returning .lx-logotype, .v2 .lx-returning .lx-body { margin: 0; }
.v2 .lx-returning-card { transform-origin: 50% 0; }
@media (prefers-reduced-motion: no-preference) { .v2 .lx-returning-card { animation: lx-flap 460ms cubic-bezier(0.2, 0.8, 0.3, 1.15) both; } }
.v2 .lx-returning-go { display: grid; gap: 10px; margin-top: 2px; }
.v2 .lx-returning-go .lx-btn { width: 100%; }
.v2 .lx-finish { display: flex; align-items: flex-start; gap: 4px; padding: 14px 8px 10px 18px; }
.v2 .lx-finish-txt { flex: 1; min-width: 0; display: grid; gap: 2px; justify-items: start; }
.v2 .lx-finish-t { margin: 0; font-weight: 700; font-size: 16px; line-height: 1.3; }
.v2 .lx-finish .lx-sub { margin: 0; }
.v2 .lx-finish-x { flex: none; margin: -6px 0 0; }
.v2 .lx-finish-x .lx-icon { width: 22px; height: 22px; }
.v2 .lx-acctmember > .lx-finish { justify-self: stretch; margin: 2px 0 0; }
.v2 .lx-favhead { margin: 18px 0 8px; }
.v2 .lx-favgone { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.v2 .lx-favgone li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 2px dashed var(--ink); border-radius: 14px; font-size: 15px; line-height: 1.4; color: var(--mute); }
.v2 .lx-emailset { display: grid; gap: 8px; }
.v2 .lx-emailset .lx-h2, .v2 .lx-emailset .lx-sub { margin: 0; }
.v2 .lx-penny-face { flex: none; display: block; overflow: visible; }
.v2 .lx-penny-coin { fill: var(--marigold); stroke: var(--ink); stroke-width: 2.6; }
.v2 .lx-penny-rim { fill: none; stroke: var(--ink); stroke-width: 1.2; opacity: 0.35; }
.v2 .lx-penny-curl { fill: none; stroke: var(--coral); stroke-width: 3.2; stroke-linecap: round; }
.v2 .lx-penny-cheek { fill: var(--pink); }
.v2 .lx-penny-eye, .v2 .lx-penny-smile { fill: none; stroke: var(--ink); stroke-width: 2.6; stroke-linecap: round; }
.v2 .lx-penny-btn { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; }
.v2 .lx-penny-btn:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
.v2 .lx-penny-note { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; margin: 22px 14px 0; padding: 10px 12px; background: #fff; border: 2.4px solid var(--ink); border-radius: 18px 20px 17px 21px; box-shadow: 0 0 0 3px var(--marigold); }
.v2 .lx-penny-note p { margin: 0; font-size: 15px; line-height: 1.35; }
.v2 .lx-penny-note-go { grid-column: 2 / 4; }
.v2 .lx-penny { display: grid; gap: 10px; margin: 22px 14px 0; padding: 14px; background: #fff; }
.v2 .lx-penny-head { display: flex; align-items: center; gap: 10px; }
.v2 .lx-penny-head > div { flex: 1; }
.v2 .lx-penny-head .lx-sub, .v2 .lx-penny-head .lx-h2 { margin: 0; }
.v2 .lx-penny-name { margin: 0; font: 400 22px/1 var(--display); }
.v2 .lx-penny-body { display: grid; gap: 10px; }
.v2 .lx-penny-say { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.35; }
.v2 .lx-penny-two { display: flex; flex-wrap: wrap; gap: 8px; }
.v2 .lx-penny-topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.v2 .lx-penny-topics li { display: contents; }
.v2 button.lx-penny-topic { font: inherit; font-weight: 700; font-size: 15px; color: var(--ink); cursor: pointer; text-align: left; }
.v2 button.lx-penny-topic:focus-visible, .v2 .lx-penny-chip:focus-visible, .v2 .lx-penny-x:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
.v2 .lx-penny-topics .lx-penny-answer { flex-basis: 100%; }
.v2 .lx-penny-topic { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; background: #fff; border: 2.2px solid var(--ink); border-radius: 999px; font-weight: 700; font-size: 15px; }
.v2 .lx-penny-topic.is-open { background: var(--marigold); }
.v2 .lx-penny-answer { display: grid; gap: 6px; justify-items: start; padding: 12px 14px; background: color-mix(in srgb, var(--marigold) 22%, #fff); border-radius: 16px 18px 16px 6px; }
.v2 .lx-penny-answer p { margin: 0; font-size: 15px; line-height: 1.45; }
.v2 .lx-penny-ask { display: grid; gap: 6px; padding-top: 10px; border-top: 2px dashed var(--plate); }
.v2 .lx-penny-ask .lx-label, .v2 .lx-penny-ask .lx-sub { margin: 0; }
.v2 .lx-penny-send { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.v2 .lx-penny-thread { display: grid; gap: 8px; }
.v2 .lx-penny-q { justify-self: end; max-width: 84%; margin: 0; padding: 10px 12px; background: var(--ink); color: #fff; border-radius: 16px 16px 6px 16px; font-size: 15px; }
.v2 .lx-penny-a { display: flex; align-items: flex-start; gap: 8px; }
.v2 .lx-penny-a > div { display: grid; gap: 6px; justify-items: start; padding: 10px 12px; background: color-mix(in srgb, var(--marigold) 22%, #fff); border-radius: 16px 16px 16px 6px; }
.v2 .lx-penny-a p { margin: 0; font-size: 15px; line-height: 1.45; }
.v2 .lx-penny-a .lx-link, .v2 .lx-penny-answer .lx-link { display: inline-flex; align-items: center; min-height: 44px; }
.v2 .lx-penny-launch { display: flex; justify-content: center; margin: 22px 14px 0; }
.v2 .lx-penny-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px 0 6px; background: #fff; border: 2.2px solid var(--ink); border-radius: 999px; font: inherit; font-weight: 700; font-size: 15px; color: var(--ink); cursor: pointer; }
.v2 .lx-penny-x { flex: none; }
.v2 .lx-penny-note .lx-penny-x { grid-column: 3; grid-row: 1; }
.v2 .lx-penny-thinking { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 15px; font-weight: 600; color: var(--mute); }
.v2 .lx-penny-src { font-size: 13px; font-weight: 600; color: var(--mute); }
.v2 .lx-penny-passed { font-weight: 700; }
.v2 .lx-penny-a.is-calm > div { background: color-mix(in srgb, var(--lilac) 22%, #fff); }
.v2 .lx-penny .lx-invite { margin: 0; }
.v2 .lx-penny-nudge { display: flex; align-items: flex-start; gap: 10px; margin: 12px 0; padding: 12px; background: #fff; border: 2.4px solid var(--ink); border-radius: 18px 20px 17px 21px; }
.v2 .lx-penny-nudge p { margin: 0 0 8px; font-size: 15px; line-height: 1.4; }
.v2 .lx-favs, .v2 .lx-recap { display: grid; gap: 10px; margin: 12px 0; }
.v2 .lx-favs .lx-body, .v2 .lx-recap .lx-body, .v2 .lx-recap .lx-sub, .v2 .lx-favs .lx-sub { margin: 0; }
.v2 .lx-favs-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.v2 .lx-favs-list li { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 6px 0 14px; background: var(--pink); border: 2.2px solid var(--ink); border-radius: 999px; font-weight: 700; }
.v2 .lx-recap-group { display: grid; gap: 6px; }
.v2 .lx-recap-pins { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.v2 .lx-recap-pins a { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.v2 .lx-recap-t { font-weight: 700; font-size: 15px; }
.v2 .lx-walk { display: block; }
.v2 .lx-walk-steps { display: grid; gap: 28px; margin: 0; padding: 0 14px 28px; list-style: none; }
.v2 .lx-walk-step { display: grid; gap: 8px; justify-items: center; text-align: center; scroll-margin-top: 12px; }
.v2 .lx-walk-step .lx-h2, .v2 .lx-walk-step .lx-body { margin: 0; }
.v2 .lx-walk-n { margin: 0; font-size: 13px; font-weight: 700; color: var(--mute); }
.v2 .lx-walk-shot { display: block; width: min(86%, 360px); border: 2.6px solid var(--ink); border-radius: 22px; overflow: hidden; box-shadow: 0 2px 8px rgba(11, 12, 11, 0.16); }
.v2 .lx-walk-shot img { display: block; width: 100%; height: auto; }
.v2 .lx-walk-next { gap: 6px; }
.v2 .lx-acctlist { display: grid; gap: 10px; margin: 12px 0; padding: 0; list-style: none; }
.v2 .lx-acctitem { display: grid; gap: 8px; padding: 10px 12px; background: #fff; }
.v2 .lx-acctitem-head { display: grid; grid-template-columns: 56px 1fr auto; gap: 10px; align-items: center; color: inherit; text-decoration: none; }
.v2 .lx-acctitem-txt { display: grid; min-width: 0; }
.v2 .lx-acctitem-txt b { font-size: 16px; line-height: 1.25; }
.v2 .lx-acctitem-txt .lx-sub { margin: 2px 0 0; }
.v2 .lx-acctitem .lx-sticker-in { font-size: 13px; min-height: 24px; padding: 0 8px; white-space: normal; }
.v2 .lx-acctitem-act { display: flex; flex-wrap: wrap; gap: 8px; }
.v2 .lx-acctempty { display: grid; gap: 10px; justify-items: start; margin: 14px 0; }
.v2 .lx-acctempty .lx-body { margin: 0; }
.v2 .lx-acctline { margin: 0; font-size: 15px; line-height: 1.45; }
.v2 .lx-acctpast summary { min-height: 44px; display: flex; align-items: center; font-weight: 700; cursor: pointer; }
.v2 .lx-acctmedia { display: flex; flex-wrap: wrap; gap: 8px; }
.v2 .lx-acctask, .v2 .lx-acctpins { display: grid; gap: 8px; }
.v2 .lx-askform { justify-self: stretch; margin: 4px 0 0; }
.v2 .lx-askhint { font-weight: 400; }
.v2 .lx-askbtns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.v2 .lx-askbtns .lx-btn { padding: 0 18px; }
.v2 .lx-askphotos { margin: 8px 0 4px; }
.v2 .lx-askphoto { padding: 0; border: 2px solid var(--ink); cursor: zoom-in; }
.v2 .lx-acctaddr { display: grid; gap: 8px; justify-items: start; margin: 12px 0; }
.v2 .lx-acctaddr .lx-body, .v2 .lx-acctaddr .lx-sub { margin: 0; }
.v2 .lx-isone { display: grid; grid-template-columns: 112px 1fr; gap: 12px; align-items: start; margin: 12px 0; }
.v2 .lx-isone-txt { display: grid; gap: 6px; min-width: 0; }
.v2 .lx-isone-txt .lx-h2, .v2 .lx-isone-txt .lx-sub, .v2 .lx-isone-txt .lx-body { margin: 0; }
.v2 .lx-acctitem-head.is-nothumb { grid-template-columns: 1fr auto; }
.v2 .lx-bps-crop { flex: none; width: 112px; height: 112px; border: 2.6px solid var(--ink); border-radius: 18px; background-color: var(--plate); background-size: 520% auto; background-repeat: no-repeat; }
.v2 .lx-acct-trouble { font-size: 14px; font-weight: 600; }
.v2 .lx-acct-row > .lx-icon { grid-column: 4; width: 20px; height: 20px; }
.v2 .lx-acct-row .lx-sticker-in { font-size: 13px; min-height: 24px; padding: 0 8px; }
.v2 .lx-room { padding: 18px 16px 24px; color: #fbf5ee; }
.v2 .lx-room.is-advent { background: #2f6b4f; }
.v2 .lx-room.is-night { background: radial-gradient(90% 55% at 82% 0%, rgba(198, 212, 255, 0.22), rgba(120, 140, 210, 0) 72%), #0c0d1a; }
.v2 .lx-room-eyebrow { margin: 0 0 4px; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.v2 .lx-room-body { margin: 8px 0 14px; font-size: 16px; line-height: 1.45; }
.v2 .lx-room .lx-card, .v2 .lx-room .lx-tile, .v2 .lx-room .lx-sticker { color: var(--ink); }
.v2 .lx-room-card::before { content: ""; position: absolute; inset: 3px; z-index: -1; border-radius: 14px 16px 13px 15px; background: #fff; }
.v2 .lx-room-card p { margin: 0; }
.v2 .lx-room-card .lx-meter { margin-top: 6px; }
.v2 .lx-room.is-night .lx-tile { color: #fbf5ee; }
.v2 .lx-room.is-night :focus-visible { outline-color: #fbf5ee; }
.v2 .lx-room.is-night .lx-tf::before { content: ""; position: absolute; inset: -5px; border-radius: 22px 24px 21px 23px; background: #fff; }
.v2 .lx-room .lx-tf > .lx-plate { z-index: 1; }
.v2 .lx-doors { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin: 4px 0 16px; }
.v2 .lx-door { position: relative; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; background: #fff; color: var(--ink);
  border: 2.4px solid var(--ink); border-radius: 9px 11px 8px 10px; }
.v2 .lx-door b { font: 400 17px/1 var(--display); }
.v2 .lx-door.is-picked { background: var(--plate); }
.v2 .lx-door.is-picked img { padding: 3px; }
.v2 .lx-marker { position: absolute; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; }
.v2 .lx-marker.is-mine { border: 3.5px solid var(--ink); box-shadow: 0 0 0 2.5px #fff, inset 0 0 0 2px #fff; }
.v2 .lx-marker.is-mine .lx-icon { position: absolute; right: -12px; top: -12px; width: 24px; height: 24px; padding: 2px; box-sizing: border-box;
  background: var(--pink); border: 2px solid var(--ink); border-radius: 50%; stroke-width: 3.2; }
.v2 .lx-marker.is-taken { border: 3px dashed #fff; box-shadow: 0 0 0 2px var(--ink), inset 0 0 0 2px var(--ink); }
.v2 .lx-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 8px; font-size: 14px; font-weight: 700; color: var(--mute); }
.v2 .lx-legend span { display: inline-flex; align-items: center; gap: 7px; }
.v2 .lx-marker-key { display: inline-block; width: 18px; height: 18px; border-radius: 50%; }
.v2 .lx-marker-key.is-mine { border: 3px solid var(--ink); }
.v2 .lx-marker-key.is-taken { border: 2.5px dashed var(--ink); }
.v2 .lx-photo.is-soldout .lx-photo-img { opacity: 0.5; filter: grayscale(0.6); }
.v2 .lx-stamp-big { left: 16%; top: 40%; font-size: 26px; padding: 5px 14px; }
.v2 .lx-blurb { padding: 10px 12px; background: var(--plate); border-radius: 12px 14px 11px 13px; }
.v2 .lx-blurb p { margin: 0; }
.v2 .lx-blurb .lx-body { font-size: 15px; line-height: 1.45; }
.v2 .lx-warnline { flex-basis: 100%; margin: 0; display: flex; align-items: center; gap: 6px; padding: 8px 12px;
  border: 2.4px solid var(--ink); border-radius: 12px 14px 11px 13px; background: var(--marigold); font-weight: 700; font-size: 15px; }
.v2 .lx-warnline .lx-icon { width: 20px; height: 20px; }
.v2 .lx-lapsed { display: grid; gap: 4px; padding-top: 16px; }
.v2 .lx-lapsed p { margin: 0; }
.v2 .lx-lapsed .lx-body { font-size: 15px; line-height: 1.45; }
.v2 .lx-lapsed .lx-under { margin-top: 6px; }
.v2 .lx-ink { color: var(--ink); }
.v2 .lx-center { text-align: center; }
.v2 .lx-center .lx-logotype { justify-content: center; }
.v2 .lx-mt-s { margin-top: 10px; }
.v2 .lx-rules { padding: 16px 18px; margin: 12px 0 14px; display: grid; gap: 6px; }
.v2 .lx-rules p { margin: 0; font-size: 16px; line-height: 1.45; }
.v2 .lx-qtop { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.v2 .lx-qdots { display: flex; gap: 6px; }
.v2 .lx-qdots i { width: 14px; height: 14px; border: 2.4px solid var(--ink); border-radius: 50%; background: #fff; }
.v2 .lx-qdots i.is-done { background: var(--cyan); }
.v2 .lx-qdots i.is-now { background: var(--pink); }
.v2 .lx-qtime { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border: 2.4px solid var(--ink); border-radius: 999px; font-weight: 700; font-variant-numeric: tabular-nums; }
.v2 .lx-qtime .lx-icon { width: 18px; height: 18px; }
.v2 .lx-question { font: 400 25px/1.2 var(--display); margin: 4px 0 16px; }
.v2 .lx-answers { display: grid; gap: 10px; }
.v2 .lx-answer { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 0 18px 0 14px; font-weight: 700; font-size: 18px; background: #fff; }
.v2 .lx-answer .lx-icon { margin-left: auto; stroke-width: 3; }
.v2 .lx-answer-k { flex: none; width: 30px; height: 30px; display: grid; place-items: center; border: 2.4px solid var(--ink); border-radius: 50%; font-size: 14px; }
.v2 .lx-answer.is-picked { background: var(--cyan); border-radius: 30px; }
.v2 .lx-lockedin { margin: 14px 0 0; font-weight: 700; text-align: center; }
.v2 .lx-qdock { display: flex; justify-content: center; }
.v2 .lx-flapwrap { padding: 14px 12px 10px; margin: 8px 0 6px; }
.v2 .lx-flapboard { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.v2 .lx-flaprow { display: flex; gap: 2px; padding: 3px; border-radius: 9px; }
.v2 .lx-flaprow.is-you { background: var(--paper-tex) 0 0 / 48px 48px, var(--pink); }
.v2 .lx-flap { position: relative; flex: none; width: 18px; height: 28px; display: grid; place-items: center; overflow: hidden; perspective: 80px;
  background: #fff; border: 1.8px solid var(--ink); border-radius: 5px; font: 400 16px/1 var(--font-v2-display), system-ui, sans-serif; color: var(--ink); }
.v2 .lx-flap::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(11, 12, 11, 0.3); }
.v2 .lx-flap.is-gap { margin-left: 5px; }
.v2 .lx-flap.is-rank { background: var(--paper-tex) 0 0 / 48px 48px, var(--c); }
.v2 .lx-flap.is-score { background: var(--paper-tex) 0 0 / 48px 48px, var(--marigold); }
.v2 .lx-flap.is-time { background: var(--plate); }
.v2 .lx-flap-ch { display: block; transform-origin: 50% 0; }
.v2 .lx-flap-ch.is-flip { animation: lx-flap 70ms linear both; }
@keyframes lx-flap { from { transform: rotateX(-86deg); opacity: 0.35; } to { transform: rotateX(0); opacity: 1; } }
.v2 .is-compact .lx-flap { width: 16px; height: 25px; font-size: 14px; }
.v2 .lx-flaplegend { display: flex; margin: 6px 0 0 29px; gap: 0; font-size: 12px; font-weight: 700; color: var(--mute); }
.v2 .lx-flaplegend span:nth-child(1) { width: 165px; }
.v2 .lx-flaplegend span:nth-child(2) { width: 40px; }
.v2 .is-compact .lx-flaplegend { display: none; }
.v2 .lx-holdline { display: flex; align-items: flex-start; gap: 8px; margin: 10px 0 4px; padding: 10px 12px; border: 2.4px solid var(--ink); border-radius: 12px 14px 11px 13px;
  background: var(--paper-tex) 0 0 / 48px 48px, var(--marigold); font-size: 15px; line-height: 1.4; }
.v2 .lx-holdline .lx-icon { flex: none; width: 20px; height: 20px; margin-top: 1px; }
.v2 .lx-minline { margin: 12px 2px 12px; font-size: 16px; }
.v2 .lx-minline p { margin: 0; }
.v2 .lx-btn.is-off { color: var(--mute); background: #fff; }
.v2 .lx-btn.is-off::after { opacity: 0.45; }
.v2 .lx-gallery.is-sold .lx-plate img { opacity: 0.45; filter: grayscale(0.6); }
.v2 .lx-pics { display: grid; grid-auto-flow: column; grid-auto-columns: 85%; gap: 8px; margin: 12px -16px 0; padding: 2px 16px 4px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; scrollbar-width: none; overscroll-behavior-x: contain; }
.v2 .lx-pics::-webkit-scrollbar { display: none; }
@media (min-width: 640px) { .v2 .lx-pics { grid-auto-columns: 420px; } }
.v2 .lx-picstile { position: relative; display: block; aspect-ratio: 1; padding: 0; overflow: hidden; border: 2.4px solid var(--ink); border-radius: 14px 16px 13px 15px; background: #fff; scroll-snap-align: center; cursor: zoom-in; }
.v2 .lx-picstile.is-portrait { aspect-ratio: 3 / 4; }
.v2 .lx-picshint { margin: 6px 0 0; text-align: center; font-size: 14px; }
.v2 .lx-picsbox { position: fixed; inset: 0; z-index: 40; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 10px; padding: calc(12px + env(safe-area-inset-top)) 8px calc(16px + env(safe-area-inset-bottom)); background: rgba(11, 12, 11, 0.96); color: #fff; }
.v2 .lx-picsbox.is-preview { position: absolute; }
.v2 .lx-picsbox :focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.v2 .lx-picsbox-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-left: 8px; font-size: 15px; line-height: 1.3; }
.v2 .lx-picsbox-n { margin-left: 8px; color: #d8d6cf; }
.v2 .lx-picsbox-close { flex: none; display: inline-flex; align-items: center; gap: 4px; min-height: 44px; padding: 0 14px 0 10px; border: 2px solid #fff; border-radius: 999px; background: transparent; color: #fff; font: 700 15px var(--text); }
.v2 .lx-picsbox-close .lx-icon { width: 20px; height: 20px; stroke: #fff; }
.v2 .lx-picsbox-mid { position: relative; display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); min-height: 0; }
.v2 .lx-picsbox-prev, .v2 .lx-picsbox-next { position: absolute; top: 50%; z-index: 1; transform: translateY(-50%); border-radius: 50%; background: rgba(11, 12, 11, 0.55); }
.v2 .lx-picsbox-prev { left: 2px; }
.v2 .lx-picsbox-next { right: 2px; }
.v2 .lx-picsbox-img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.v2 .lx-picsbox-hint { margin: 0; text-align: center; font-size: 14px; color: #d8d6cf; }
.v2 .lx-lightbox { position: absolute; inset: 0; background: #0b0c0b; color: #fff; display: grid; grid-template-rows: auto 1fr auto auto; gap: 10px; padding: 12px 8px 26px; }
.v2 .lx-lightbox-top { display: flex; justify-content: space-between; align-items: center; padding-left: 10px; }
.v2 .lx-lightbox-n { font-weight: 700; font-size: 15px; }
.v2 .lx-iconbtn-light .lx-icon { stroke: #fff; }
.v2 .lx-lightbox-img { position: relative; }
.v2 .lx-dots-light b, .v2 .lx-dots-light i { border-color: #fff; }
.v2 .lx-dots-light b { background: #fff; }
.v2 .lx-lightbox-hint { margin: 0; text-align: center; font-size: 14px; color: #d8d6cf; }
.v2 .lx-form { display: grid; gap: 10px; margin-bottom: 14px; }
.v2 .lx-flabel.is-err .lx-field { border-color: #9b1c2e; border-width: 2.6px; }
.v2 .lx-fielderr, .v2 .lx-errsum { display: flex; align-items: flex-start; gap: 5px; color: #9b1c2e; font-size: 14px; font-weight: 700; line-height: 1.35; }
.v2 .lx-fielderr .lx-icon, .v2 .lx-errsum .lx-icon { flex: none; width: 18px; height: 18px; stroke: #9b1c2e; }
.v2 .lx-errsum { margin: 10px 0 4px; padding: 10px 12px; border: 2.4px solid #9b1c2e; border-radius: 12px 14px 11px 13px; font-size: 15px; }
.v2 .lx-packs { border: 0; margin: 0 0 12px; padding: 16px 18px; display: grid; gap: 10px; }
.v2 .lx-packs legend { float: left; padding: 0; }
.v2 .lx-flush { margin-left: 0; margin-right: 0; }
.v2 .lx-footer { position: relative; margin-top: 18px; padding: 22px 16px 26px; text-align: center; display: grid; justify-items: center; gap: 6px; background: var(--plate); }
.v2 .lx-footer::before { content: ""; position: absolute; left: 6px; right: 6px; top: -3px; height: 6px; background: url("/ui/rule.svg") center / 100% 100% no-repeat; }
.v2 .lx-footer p { margin: 0; }
.v2 .lx-footer-mark { width: 170px; height: auto; }
.v2 .lx-footer-ig { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 700; }
.v2 .lx-footer-links { display: flex; gap: 18px; }
/* The selling row (SEO plumbing, 2026-10-04): wraps rather than overflow at phone width. */
.v2 .lx-footer-links { flex-wrap: wrap; justify-content: center; column-gap: 18px; row-gap: 0; }
.v2 .lx-footer-legal { font-size: 13px; color: var(--mute); max-width: 30em; line-height: 1.4; }
.v2 .lx-tourline { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 16px; font-size: 15px; font-weight: 600; }
.v2 .lx-tour { display: flex; gap: 14px; margin: 12px -16px 0; padding: 4px 16px 14px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; overscroll-behavior-x: contain; }
.v2 .lx-tour:focus-visible { outline-offset: -3px; }
.v2 .lx-tourstep { flex: 0 0 76%; scroll-snap-align: start; display: grid; gap: 6px; align-content: start; }
.v2 .lx-tourshot { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; border: 2.4px solid var(--ink); border-radius: 20px 22px 19px 23px; background: #fff; box-shadow: 0 2px 6px rgba(11, 12, 11, 0.18); }
.v2 .lx-tourshot img { width: 100%; height: 100%; object-position: top; }
.v2 .lx-tourn { font-size: 13px; font-weight: 700; color: var(--mute); margin-top: 4px; }
.v2 .lx-tourstep .lx-h2, .v2 .lx-tourstep .lx-body { margin: 0; }
.v2 .lx-tourstep .lx-btn { justify-self: start; margin-top: 6px; }
.v2 .lx-calm { display: grid; gap: 6px; }
.v2 .lx-calm p { margin: 0; }
.v2 .lx-gone { margin: 0; color: var(--mute); }
.v2 .lx-lines .lx-sticker { margin-top: 4px; }
.v2 .lx-lines .lx-sticker-in { font-size: 13px; min-height: 22px; padding: 0 8px; }
.v2 .lx-open { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 14px; font-weight: 700; }
.v2 .lx-open b { padding: 1px 9px; border: 2px solid var(--ink); border-radius: 999px; background: var(--paper-tex) 0 0 / 48px 48px, var(--cyan); }
.v2 .lx-money { display: flex; align-items: center; gap: 6px; font-size: 20px; }
.v2 .lx-money b { font: 400 24px/1 var(--display); }
.v2 .lx-vaultopen { display: grid; gap: 6px; justify-items: start; }
.v2 .lx-vaultopen p { margin: 0; }
.v2 .lx-vault-row { display: flex; gap: 12px; align-items: center; }
.v2 .lx-vault-photo { position: relative; display: block; flex: none; width: 120px; aspect-ratio: 4 / 5; border: 2.6px solid var(--ink); border-radius: 16px; overflow: hidden; background: var(--plate); }
.v2 .lx-vault-tile { display: grid; gap: 6px; color: inherit; text-decoration: none; }
.v2 .lx-vault-tile .lx-vault-photo { width: 100%; }
.v2 .lx-vault-txt { display: grid; gap: 2px; }
.v2 .lx-vault-txt p { margin: 0; }
.v2 .lx-vault-retired { position: absolute; inset: 0; display: grid; place-items: center; padding: 8px; text-align: center; font-size: 13px; line-height: 1.35; color: var(--mute); }
.v2 .lx-vault-cap { display: grid; font-size: 14px; line-height: 1.35; color: var(--mute); }
.v2 .lx-vault-cap b { color: var(--ink); font-size: 15px; }
.v2 .lx-asseen-empty { display: grid; gap: 10px; justify-items: start; margin-top: 12px; }
.v2 .lx-asseen-empty p { margin: 0; }
.v2 .lx-asseen-more { margin: 16px 0 0; text-align: center; }
.v2 .lx-photopick { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.v2 .lx-addphoto { display: inline-flex; align-items: center; gap: 4px; min-height: 56px; padding: 0 16px; font-weight: 700; background: #fff; }
.v2 .lx-steps { padding: 10px 12px; background: var(--plate); border-radius: 12px 14px 11px 13px; }
.v2 .lx-steps ol { margin: 4px 0 0; padding-left: 20px; font-size: 15px; line-height: 1.45; display: grid; gap: 4px; }
.v2 .lx-room.lx-room-thin { padding: 8px 16px; }
.v2 .lx-room-thin .lx-room-eyebrow { margin: 0; }
.v2 .lx-acard { display: grid; gap: 8px; margin-top: 12px; }
.v2 .lx-acard p { margin: 0; }
.v2 .lx-arow { display: flex; align-items: center; gap: 10px; }
.v2 .lx-arow > div { flex: 1; min-width: 0; }
.v2 .lx-arow .lx-sub { margin: 0; }
.v2 .lx-thumb-lg { width: 96px; height: 96px; }
.v2 .lx-hunts { display: grid; gap: 12px; margin-top: 12px; }
.v2 .lx-hunts > .lx-btn { justify-self: start; }
.v2 .lx-huntcard { display: grid; grid-template-columns: 56px 1fr; gap: 4px 12px; align-items: start; color: var(--ink); text-decoration: none; }
.v2 .lx-huntcard .lx-huntstickers { grid-column: 2; }
.v2 .lx-huntwho { display: grid; gap: 2px; min-width: 0; }
.v2 .lx-huntwho .lx-sub { margin: 0; }
.v2 .lx-huntstickers { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.v2 .lx-huntstickers:empty { display: none; }
.v2 .lx-blurmark { display: inline-flex; align-items: center; min-height: 24px; padding: 0 8px; border: 2px dashed var(--mute); border-radius: 999px; font-size: 13px; font-weight: 700; color: var(--mute); }
.v2 .lx-huntnophoto { position: absolute; inset: 0; display: grid; place-items: center; background: var(--paper); }
.v2 .lx-huntnophoto .lx-icon { width: 26px; height: 26px; }
.v2 .lx-huntform { display: grid; gap: 8px; }
.v2 .lx-huntform .lx-sub, .v2 .lx-huntform .lx-label, .v2 .lx-huntform .lx-body { margin: 0; }
.v2 .lx-huntphotoline { font-weight: 600; }
.v2 .lx-huntdoubt { display: grid; gap: 8px; justify-items: start; }
.v2 .lx-huntdoubt .lx-body { margin: 0; }
.v2 .lx-huntrow { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.v2 .lx-huntrow .lx-btn { padding: 0 8px; }
.v2 .lx-huntdoubt .lx-huntrow { width: 100%; margin-top: 0; }
.v2 .lx-hunthead { display: flex; gap: 12px; align-items: center; margin: 8px 0 6px; }
.v2 .lx-hunthead .lx-h1 { margin: 0; }
.v2 .lx-blurnudge { margin-top: 6px; }
.v2 .lx-huntmatches { display: grid; gap: 10px; margin: 10px 0 12px; padding: 0; list-style: none; }
.v2 .lx-huntmatch { background: #fff; }
.v2 .lx-huntmatch-in { display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: start; padding: 10px 12px; min-height: 44px; color: var(--ink); text-decoration: none; }
.v2 .lx-huntmatch-in:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
.v2 .lx-huntmatch-txt { display: grid; gap: 4px; min-width: 0; }
.v2 .lx-huntmatch-txt b { font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; }
.v2 .lx-huntmatch-txt .lx-sub { margin: 0; }
.v2 .lx-huntmatch-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.v2 .lx-huntmatch-price { font-weight: 800; font-size: 16px; }
.v2 .lx-huntmatch .lx-sticker-in { font-size: 13px; min-height: 24px; padding: 0 8px; white-space: normal; }
.v2 .lx-huntmatch.is-sold .lx-thumb { opacity: 0.55; }
.v2 .lx-huntwords { display: grid; gap: 6px; margin-top: 12px; }
.v2 .lx-huntwords .lx-label, .v2 .lx-huntwords .lx-sub { margin: 0; }
.v2 .lx-huntwords .lx-huntrow { margin-top: 2px; }
.v2 .lx-quote { font-style: italic; color: var(--mute); }
.v2 .lx-wants { list-style: none; margin: 14px 0 10px; padding: 0; border-top: 1.5px solid #d8d6cf; }
.v2 .lx-wants li { display: grid; grid-template-columns: 1fr auto; gap: 0 10px; padding: 8px 0; border-bottom: 1.5px solid #d8d6cf; }
.v2 .lx-wants li .lx-quietlink { grid-row: 1 / span 2; grid-column: 2; }
.v2 .lx-answer-box { padding: 10px 12px; border-left: 3px solid var(--ink); background: var(--plate); border-radius: 0 12px 12px 0; }
.v2 .lx-pgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.v2 .lx-pgrid .lx-plate { aspect-ratio: 1; }
.v2 .lx-bigicon .lx-icon { width: 36px; height: 36px; }
.v2 .lx-oline { grid-template-columns: 1fr auto auto; align-items: center; }
.v2 .lx-oline .lx-sticker-in { font-size: 13px; min-height: 22px; padding: 0 8px; }
.v2 .lx-room-card-wrap { margin: 8px -16px 0; }
.v2 .lx-thread { display: grid; gap: 4px; margin-top: 14px; }
.v2 .lx-msg { display: grid; justify-items: start; }
.v2 .lx-msg.is-mine { justify-items: end; }
.v2 .lx-msg-who { margin: 8px 4px 2px; font-size: 13px; font-weight: 700; }
.v2 .lx-msg-who span { font-weight: 600; color: var(--mute); margin-left: 4px; }
.v2 .lx-bubble { max-width: 82%; margin: 0; padding: 9px 12px; font-size: 15px; line-height: 1.4; background: var(--plate); border: 2px solid var(--ink); border-radius: 16px 18px 18px 4px; }
.v2 .is-mine .lx-bubble { background: var(--cyan); border-radius: 18px 16px 4px 18px; }
.v2 .lx-composer { display: flex; gap: 8px; align-items: flex-end; margin-top: 8px; }
.v2 .lx-composer .lx-area { min-height: 52px; }
.v2 .lx-brandline { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 4px 0 0; font-size: 14px; font-weight: 700; color: var(--mute); }
.v2 .lx-licensed { padding: 1px 9px; border: 2px solid var(--ink); border-radius: 999px; color: var(--ink); background: var(--paper-tex) 0 0 / 48px 48px, var(--cyan); }
.v2 .lx-feat { margin: 8px 0 2px; }
.v2 .lx-featchip { min-height: 44px; padding: 0 14px; border: 2.4px solid var(--ink); border-radius: 999px 900px 950px 999px; background: #fff; color: var(--ink);
  font: 700 15px var(--text); cursor: pointer; }
.v2 .lx-featchip.is-edition { font-family: var(--display); font-weight: 400; letter-spacing: 0.02em; background: var(--paper-tex) 0 0 / 48px 48px, var(--marigold); }
.v2 .lx-featchip.is-open { background: var(--paper-tex) 0 0 / 48px 48px, var(--lilac); }
.v2 .lx-featline { min-height: 44px; margin: 6px 2px 0; font-size: 15px; line-height: 1.45; }
.v2 .lx-details-2 { margin-top: 6px; }
.v2 .lx-link { font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.v2 .lx-revblock { margin-top: 18px; padding-top: 4px; }
.v2 .lx-revblock .lx-sub { margin: 0; }
.v2 .lx-revtitle { margin: 0; font: 400 21px/1.1 var(--display); }
.v2 .lx-mstage { position: relative; width: 100%; height: 96px; display: flex; justify-content: center; align-items: flex-end; }
.v2 .lx-mletter { position: absolute; top: 0; left: 50%; margin-left: -14px; font-size: 40px; pointer-events: none;
  animation: lx-drop 260ms cubic-bezier(0.5, 0, 0.75, 0.9) both; }
@keyframes lx-drop {
  0% { transform: translateY(-6px) rotate(-10deg); opacity: 0; }
  20% { opacity: 1; }
  75% { transform: translateY(40px) rotate(4deg) scale(0.9); opacity: 1; }
  100% { transform: translateY(52px) rotate(0) scale(0.55); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .v2 .lx-mletter { display: none; }
}
.v2 .lx-mbag { position: relative; display: block; width: 52px; height: 52px; }
.v2 .lx-mbag svg { width: 52px; height: 52px; fill: #fff; stroke: var(--ink); stroke-width: 2.2; stroke-linejoin: round; stroke-linecap: round; }
.v2 .lx-mbadge { position: absolute; right: -6px; top: -4px; min-width: 22px; height: 22px; border-radius: 11px; display: grid; place-items: center; background: var(--ink); color: #fff; font-size: 13px; }
.v2 .lx-mbag.is-go { animation: lx-give 100ms ease-out 180ms both; }
@keyframes lx-give { 0% { transform: scale(1); } 40% { transform: scale(0.9, 0.84) translateY(3px); } 100% { transform: scale(1); } }
.v2 .lx-meter-anim { width: 100%; transform-origin: left center; transition: transform 300ms cubic-bezier(0.2, 0.8, 0.2, 1); }
.v2 .lx-mcount { display: inline-block; }
.v2 .lx-mcount.is-go { animation: lx-bump 180ms ease-out both; }
@keyframes lx-bump { 0% { transform: scale(1); } 45% { transform: scale(1.35); } 100% { transform: scale(1); } }
.v2 .lx-mplate { position: relative; width: 132px; height: 132px; border-radius: 16px 18px 15px 17px; background: var(--plate); }
.v2 .lx-mplate-pin { position: absolute; inset: 14px; }
.v2 .lx-mplate-pin img { width: 100%; height: 100%; object-fit: contain; }
.v2 .lx-stamp { position: absolute; left: 6px; top: 46px; padding: 4px 10px; border: 3px solid #b3122d; border-radius: 10px 12px 9px 11px; background: rgba(255, 255, 255, 0.9); color: #b3122d; font: 400 18px/1.1 var(--font-v2-display), system-ui, sans-serif; transform: rotate(-9deg); animation: lx-stamp 240ms cubic-bezier(0.2, 1.4, 0.4, 1) both; }
@keyframes lx-stamp { from { opacity: 0; transform: rotate(-15deg) scale(1.6); } to { opacity: 1; transform: rotate(-9deg) scale(1); } }
@media (prefers-reduced-motion: reduce) {
  .v2 *, .v2 *::before, .v2 *::after { animation: none !important; transition: none !important; }
}
.v2 .lx-heart { position: absolute; right: 10px; top: 10px; z-index: 2; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--paper); border: 2.4px solid var(--ink); box-shadow: 0 1px 3px rgba(11, 12, 11, 0.22); }
.v2 .lx-heart svg { width: 24px; height: 24px; fill: none; stroke: var(--ink); stroke-width: 2.2; stroke-linejoin: round; }
.v2 .lx-heart.is-liked svg { fill: var(--pink); }
.v2 .lx-heart.is-liked { animation: lx-bump 180ms ease-out 1; }
.v2 .lx-pintile.has-heart { position: relative; }
/* THE PINS PAGE HEART, SMALLER (Austin, 2026-10-02): drawn at 32px so it no longer dominates the photo,
   centred under its own 44px button (hearts.tsx, size-11 at 6px in), which stays the tap target. */
.v2 .lx-pintile.has-heart .lx-heart { right: 12px; top: 12px; width: 32px; height: 32px; border-width: 2px; }
/* ...and that button is 44px square, not the tile's width (`.lx-pintile > button` is the tile's own button's rule). */
.v2 .lx-pintile.has-heart > button[aria-pressed] { width: 44px; }
.v2 .lx-pintile.has-heart .lx-heart svg { width: 18px; height: 18px; }
.v2 .lx-boardtile-wrap.has-heart { position: relative; }
.v2 .lx-boardtile-wrap.has-heart .lx-heart { right: 6px; top: 6px; }
.v2 .lx-heart.is-inline { position: relative; right: auto; top: auto; flex: none; }
@keyframes lx-bump { 50% { transform: scale(1.12); } }
.v2 .lx-abbr { text-decoration: underline dotted 2px; text-underline-offset: 5px; }
.v2 .lx-abbr.is-open { background: var(--marigold); border-radius: 4px; }
.v2 .lx-navitem { position: relative; }
.v2 .lx-badge { position: absolute; top: 4px; left: 50%; margin-left: 6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--pink); border: 2px solid var(--ink); font-size: 12px; font-weight: 700; line-height: 16px; color: var(--ink); text-align: center; }
.v2 .lx-acct-row .lx-badge { position: static; margin: 0; }
.v2 .lx-inrow { display: grid; grid-template-columns: 12px 1fr auto; gap: 10px; align-items: start; padding: 12px 0; border-bottom: 1.5px solid #d8d6cf; }
.v2 .lx-inrow .lx-unread { width: 10px; height: 10px; margin-top: 6px; border-radius: 50%; background: var(--pink); border: 2px solid var(--ink); }
.v2 .lx-inrow.is-read .lx-unread { visibility: hidden; }
.v2 .lx-inrow.is-read b { font-weight: 600; }
.v2 .lx-inrow .lx-sub { display: block; }
.v2 .lx-strip { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.v2 .lx-strip > * { scroll-snap-align: start; }
.v2 button.lx-abbr { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.v2 a.lx-vibe-in, .v2 a.lx-navitem, .v2 a.lx-iconbtn, .v2 a.lx-btn, .v2 a.lx-chip, .v2 a.lx-back { text-decoration: none; color: inherit; }
.v2 .lx-justin-tile > a, .v2 .lx-room-tile > a { display: block; color: inherit; text-decoration: none; }
.v2 .lx-phone.is-tall .v2 .lx-dock { position: relative; }
.v2 .lx-phone.is-tall .lx-header { position: relative; }
.v2 .lx-phone > .v2 { min-height: 100%; }
.v2 .lx-phone:not(.is-tall) .v2:has(> .lx-nav) .lx-dock:not(.lx-nav) { bottom: 77px; padding-bottom: 12px; }
.v2 .lx-marker.is-paying { border: 3px dashed #fff; box-shadow: 0 0 0 2px rgba(11, 12, 11, 0.55), inset 0 0 0 2px rgba(11, 12, 11, 0.55); opacity: 0.9; }
.v2 .lx-marker.is-paid::before, .v2 .lx-marker.is-paid::after { content: ""; position: absolute; left: 50%; top: 50%; width: 46px; height: 6px; margin: -3px 0 0 -23px; border-radius: 3px 4px 3px 4px; background: #c0272d; box-shadow: 0 0 0 2px #fff; }
.v2 .lx-marker.is-paid::before { transform: rotate(45deg); }
.v2 .lx-marker.is-paid::after { transform: rotate(-45deg); }
.v2 .lx-marker.is-unavailable { background: rgba(255, 255, 255, 0.72); border: 2px solid rgba(11, 12, 11, 0.25); }
.v2 .lx-marker-key.is-paying { border: 2.5px dashed var(--ink); opacity: 0.8; }
.v2 .lx-marker-key.is-paid { position: relative; }
.v2 .lx-marker-key.is-paid::before, .v2 .lx-marker-key.is-paid::after { content: ""; position: absolute; left: 0; top: 7px; width: 18px; height: 4px; border-radius: 2px; background: #c0272d; }
.v2 .lx-marker-key.is-paid::before { transform: rotate(45deg); }
.v2 .lx-marker-key.is-paid::after { transform: rotate(-45deg); }
.v2 .lx-marker-key.is-unavailable { background: #dcdad4; border: 2px solid rgba(11, 12, 11, 0.25); }
.v2 .lx-marker.is-onhold { border: 4px solid var(--lilac); box-shadow: 0 0 0 2px var(--ink), inset 0 0 0 2px var(--ink); }
.v2 .lx-marker.is-heldforme { border: 4px solid var(--pink); box-shadow: 0 0 0 2px var(--ink), inset 0 0 0 2px var(--ink); }
.v2 .lx-marker-key.is-onhold { border: 3.5px solid var(--lilac); box-shadow: 0 0 0 1.5px var(--ink); }
.v2 .lx-marker-key.is-heldforme { border: 3.5px solid var(--pink); box-shadow: 0 0 0 1.5px var(--ink); }
.v2 .lx-cartgone { margin: 4px 0 10px; }
.v2 .lx-bps { gap: 10px; }
.v2 .lx-bps > *, .v2 .lx-bps-who { min-width: 0; }
.v2 .lx-bps-who .lx-sticker-in { white-space: normal; padding-top: 3px; padding-bottom: 3px; }
.v2 .lx-bps-top { display: flex; align-items: flex-start; gap: 12px; }
.v2 .lx-bps-crop { flex: none; width: 112px; height: 112px; border: 2.6px solid var(--ink); border-radius: 18px; background-color: var(--plate); background-size: 520% auto; background-repeat: no-repeat; }
.v2 .lx-bps-who { flex: 1; display: grid; gap: 4px; justify-items: start; }
.v2 .lx-bps-who .lx-h2, .v2 .lx-bps-who .lx-price-lg, .v2 .lx-bps-who .lx-sub, .v2 .lx-bps .lx-sub, .v2 .lx-bps-blurb { margin: 0; }
.v2 .lx-bps-more { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.v2 .lx-bps-more .lx-btn { padding: 0 8px; font-size: 15px; }
.v2 .lx-bps-advent, .v2 .lx-bps-trade { display: grid; gap: 8px; }
.v2 .lx-bps-advent .lx-sub, .v2 .lx-bps-trade .lx-sub { margin: 0; }
.v2 .lx-bps-sent { margin: 0; padding: 10px 12px; background: color-mix(in srgb, var(--cyan) 24%, #fff); border-radius: 14px; font-size: 15px; }
.v2 .lx-newhere { margin: 4px 0 14px; }
.v2 .lx-newhere .lx-h2 { margin: 0 0 4px; }
.v2 .lx-countdown { font-variant-numeric: tabular-nums; font-weight: 800; }
.v2 .lx-lockline { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; margin: 6px 0 14px; border-radius: 14px 16px 13px 15px; background: var(--plate); font-size: 16px; line-height: 1.45; }
.v2 .lx-lockline .lx-icon { flex: none; width: 22px; height: 22px; }
.v2 .br-av { display: inline-grid; flex: none; padding: 3px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(11, 12, 11, 0.22); }
.v2 .br-av-in { display: grid; place-items: center; border: 2.4px solid var(--ink); border-radius: 50%;
  background: var(--paper-tex) 0 0 / 48px 48px, var(--paper-tex) 17px 29px / 71px 71px, var(--c); }
.v2 .br-av-in svg { width: 62%; height: 62%; fill: #fff; stroke: var(--ink); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.v2 .br-av-letter { font-family: var(--font-v2-display), system-ui, sans-serif; line-height: 1; color: #fff; -webkit-text-stroke: 1.6px var(--ink); paint-order: stroke fill; }
.v2 .br-av.is-picked { box-shadow: 0 0 0 3px var(--ink), 0 1px 4px rgba(11, 12, 11, 0.22); transform: rotate(-6deg) scale(1.06); }
.v2 .br-av-blank { width: 40px; height: 40px; border-radius: 50%; border: 2px dashed #b9b6ad; flex: none; }
.v2 .br-logo { position: relative; isolation: isolate; display: grid; justify-items: center; align-content: center;
  width: 250px; padding: 46px 18px 34px; border: 3.4px solid var(--ink); border-radius: 125px 125px 18px 20px;
  background: var(--paper-tex) 0 0 / 48px 48px, var(--paper-tex) 17px 29px / 71px 71px, var(--lilac);
  box-shadow: 0 0 0 6px #fff, 0 3px 10px 6px rgba(11, 12, 11, 0.16); }
.v2 .br-logo .lx-logotype { justify-content: center; text-align: center; line-height: 1.02; max-width: 7ch; }
.v2 .br-logo-the { font: 400 22px/1 var(--display); color: #fff; -webkit-text-stroke: 5px var(--ink); paint-order: stroke fill; letter-spacing: 0.04em; margin-bottom: 4px; }
.v2 .br-logo-knob { position: absolute; right: 22px; top: 58%; width: 14px; height: 14px; border-radius: 50%; background: var(--marigold); border: 2.6px solid var(--ink); }
.v2 .br-logo-pinl, .v2 .br-logo-pinr { position: absolute; top: 22px; width: 12px; height: 12px; border-radius: 50%; background: var(--coral); border: 2.4px solid var(--ink); }
.v2 .br-logo-pinl { left: 52px; }
.v2 .br-logo-pinr { right: 52px; background: var(--cyan); }
.v2 .br-logo-sm { width: 128px; padding: 26px 8px 18px; border-radius: 64px 64px 12px 14px; border-width: 2.8px; box-shadow: 0 0 0 4px #fff, 0 2px 6px 4px rgba(11, 12, 11, 0.14); }
.v2 .br-logo-sm .br-logo-the { font-size: 14px; -webkit-text-stroke-width: 4px; margin-bottom: 2px; }
.v2 .br-logo-sm .lx-logotype { font-size: 24px; }
.v2 .br-logo-sm .br-logo-knob { width: 9px; height: 9px; right: 11px; border-width: 2px; }
.v2 .br-logo-sm .br-logo-pinl, .v2 .br-logo-sm .br-logo-pinr { top: 12px; width: 8px; height: 8px; border-width: 2px; }
.v2 .br-logo-sm .br-logo-pinl { left: 28px; }
.v2 .br-logo-sm .br-logo-pinr { right: 28px; }
.v2 .br-logos { display: flex; flex-wrap: wrap; gap: 34px; align-items: center; justify-content: center; padding: 18px 16px 8px; }
.v2 .br-lockup-demo { padding: 10px 16px; background: #fff; border-radius: 14px; border: 2px solid var(--ink); }
.v2 .br-lockup { display: inline-flex; align-items: center; gap: 4px; font: 400 16px/1 var(--display); color: var(--ink); white-space: nowrap; }
.v2 .br-lockup-door { width: 22px; height: 22px; fill: var(--lilac); stroke: var(--ink); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.v2 .br-lockup-the { font-size: 12px; }
.v2 .br-card { position: relative; isolation: isolate; overflow: hidden; aspect-ratio: 1.586; width: 100%; max-width: 360px;
  display: grid; grid-template-rows: auto 1fr; padding: 14px 16px 14px; border: 3px solid var(--ink); border-radius: 20px 22px 19px 23px;
  background: var(--paper-tex) 0 0 / 48px 48px, var(--paper-tex) 17px 29px / 71px 71px, var(--c);
  box-shadow: 0 0 0 5px #fff, 0 4px 12px 5px rgba(11, 12, 11, 0.16); }
.v2 .br-card-top { display: flex; justify-content: space-between; align-items: center; }
.v2 .br-card-top .br-lockup { padding: 4px 9px 4px 6px; background: #fff; border: 2px solid var(--ink); border-radius: 999px; }
.v2 .br-card-since { font-size: 13px; font-weight: 700; }
.v2 .br-card-mid { display: flex; align-items: center; gap: 14px; align-self: end; min-width: 0; }
.v2 .br-card-who { min-width: 0; display: grid; gap: 6px; justify-items: start; }
.v2 .br-card-name { margin: 0; font: 400 25px/1.05 var(--display); color: #fff; -webkit-text-stroke: 5px var(--ink); paint-order: stroke fill; overflow-wrap: anywhere; }
.v2 .br-card-name.is-long { font-size: 19px; -webkit-text-stroke-width: 4px; overflow-wrap: normal; }
.v2 .br-card.is-small .br-card-name.is-long { font-size: 14px; -webkit-text-stroke-width: 3px; }
.v2 .br-card-num { display: inline-block; padding: 4px 10px; background: #fff; border: 2.2px solid var(--ink); border-radius: 10px 12px 9px 13px; font: 700 15px/1.1 var(--text); letter-spacing: 0.02em; transform: rotate(-2deg); }
.v2 .br-card-doodle { position: absolute; right: -14px; top: 26px; width: 112px; height: 112px; z-index: -1; fill: none; stroke: rgba(255, 255, 255, 0.7); stroke-width: 1.3; transform: rotate(18deg); }
.v2 .br-card.is-small { padding: 10px 12px; border-radius: 16px 18px 15px 19px; box-shadow: 0 0 0 4px #fff, 0 2px 8px 3px rgba(11, 12, 11, 0.14); }
.v2 .br-card.is-small .br-card-name { font-size: 18px; -webkit-text-stroke-width: 4px; }
.v2 .br-card.is-small .br-card-num { font-size: 12px; padding: 2px 7px; }
.v2 .br-card.is-small .br-lockup { font-size: 12px; }
.v2 .br-card.is-small .br-lockup-door { width: 16px; height: 16px; }
.v2 .br-card.is-small .br-card-since { font-size: 11px; }
.v2 .br-card.is-small .br-card-doodle { width: 80px; height: 80px; }
.v2 .br-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 340px)); gap: 26px; justify-content: center; padding: 14px 16px; }
.v2 .br-avset { display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; max-width: 760px; margin: 0 auto; padding: 10px 16px; }
.v2 .br-avset figure { margin: 0; display: grid; justify-items: center; gap: 6px; font-size: 13px; color: var(--mute); }
.v2 .br-hero { margin: 8px 14px 4px; padding: 16px 16px 14px; display: grid; gap: 12px; background: #fff; border: 2.6px solid var(--ink); border-radius: 22px 24px 21px 25px; }
.v2 .br-hero-head { display: flex; gap: 14px; align-items: center; }
.v2 .br-hero-head .br-logo-sm { flex: none; width: 108px; padding: 22px 6px 14px; border-radius: 54px 54px 11px 13px; }
.v2 .br-hero-head .br-logo-sm .lx-logotype { font-size: 21px; }
.v2 .br-hero-h { margin: 0; font: 400 26px/1.05 var(--display); }
.v2 .br-hero-sub { margin: 6px 0 0; font-size: 15px; line-height: 1.4; }
.v2 .br-perks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.v2 .br-perks li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.4; }
.v2 .br-perks .lx-icon { flex: none; width: 24px; height: 24px; margin-top: -1px; }
.v2 .br-join { margin-top: 2px; }
.v2 .br-center { text-align: center; margin: 0; }
.v2 .br-hero.is-in { background: none; border: 0; padding: 4px 2px 0; justify-items: center; }
.v2 .br-hero-kicker { margin: 0; justify-self: start; }
.v2 .br-waiting { display: flex; gap: 10px; align-items: center; width: 100%; padding: 12px 14px; font-size: 15px; line-height: 1.35; color: var(--ink); text-decoration: none; }
.v2 .br-waiting .lx-icon { flex: none; }
.v2 .br-waiting .lx-sticker { flex: none; margin-left: auto; }
.v2 .br-rowstub { height: 150px; border-radius: 16px; background: repeating-linear-gradient(90deg, var(--plate) 0 132px, transparent 132px 144px); }
.v2 .br-join-page { display: grid; gap: 12px; }
.v2 .br-doorway { position: relative; justify-self: center; width: 150px; height: 190px; margin: 6px 0 2px; perspective: 500px; }
.v2 .br-doorway-frame { position: absolute; inset: 0; border: 4px solid var(--ink); border-bottom: 0; border-radius: 75px 75px 0 0; }
.v2 .br-doorway-frame::after { content: ""; position: absolute; left: -22px; right: -22px; bottom: 0; height: 4px; background: var(--ink); border-radius: 4px; }
.v2 .br-doorway-room { position: absolute; inset: 8px 8px 0; border-radius: 67px 67px 0 0;
  background: radial-gradient(circle at 50% 70%, #fff6c9 0 30%, var(--marigold) 75%); }
.v2 .br-doorway-door { position: absolute; inset: 8px 8px 0; border-radius: 67px 67px 0 0; border: 3px solid var(--ink); border-bottom: 0;
  background: var(--paper-tex) 0 0 / 48px 48px, var(--paper-tex) 17px 29px / 71px 71px, var(--lilac);
  transform-origin: left center; transform: rotateY(0deg); display: grid; place-items: center; }
.v2 .br-doorway.is-open .br-doorway-door { transform: rotateY(-58deg); }
.v2 .br-doorway-knob { position: absolute; right: 14px; top: 56%; width: 13px; height: 13px; border-radius: 50%; background: var(--marigold); border: 2.4px solid var(--ink); }
.v2 .br-doorway-sign { padding: 3px 9px; background: #fff; border: 2px solid var(--ink); border-radius: 8px; font: 400 14px/1 var(--display); transform: rotate(-4deg) translateY(-10px); }
.v2 .br-choices { margin: 4px 0 0; padding: 0; border: 0; display: grid; gap: 6px; }
.v2 .br-choice { display: flex; gap: 10px; align-items: center; min-height: 44px; font-size: 16px; }
.v2 .br-choice .lx-box { flex: none; width: 26px; height: 26px; display: grid; place-items: center; }
.v2 .br-choice .lx-box .lx-icon { width: 18px; height: 18px; }
.v2 .br-slot { color: var(--mute); font-style: italic; }
.v2 .br-setup { display: grid; gap: 12px; }
.v2 .br-step { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mute); }
.v2 .br-avgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; justify-items: center; }
.v2 .br-parks { margin: 0; }
.v2 .lx-chip.is-on { background: var(--ink); color: #fff; }
/* A PILL'S FILL AND FOCUS RING FOLLOW ITS OVAL (2026-10-02). The oval is the drawn frame (::after, the whole box),
   so without a radius the selected ink fill and the 3px focus ring drew a rectangle outside it. The ring sits
   inside the oval now; a picked sticker's button is round, so its ring is too. */
.v2 .lx-chip, .v2 .lx-btn { border-radius: 999px; }
.v2 .lx-chip:focus-visible, .v2 .lx-btn:focus-visible { outline-offset: -7px; }
.v2 .br-avgrid > button { border-radius: 50%; }
/* A control that WRAPS a pill (a bare button around a span .lx-chip, as the park chips are) is the focusable box: it takes the oval too. */
.v2 button:has(> .lx-chip), .v2 a:has(> .lx-chip) { border-radius: 999px; }
.v2 button:has(> .lx-chip):focus-visible, .v2 a:has(> .lx-chip):focus-visible { outline-offset: -7px; }
.v2 .br-year { max-width: 120px; }
.v2 .br-grail { padding: 14px; display: grid; gap: 8px; }
.v2 .br-grail .lx-h2 { margin: 0; }
.v2 .br-grail-k { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mute); }
.v2 .br-share { padding: 14px; display: grid; gap: 10px; }
.v2 .br-share .lx-h2, .v2 .br-share .lx-body { margin: 0; }
.v2 .br-toggle { display: grid; grid-template-columns: 1fr 1fr; border: 2.4px solid var(--ink); border-radius: 14px; overflow: hidden; }
.v2 .br-toggle-opt { min-height: 46px; display: grid; place-items: center; font-weight: 700; font-size: 15px; background: #fff; }
.v2 .br-toggle-opt.is-on { background: var(--marigold); }
.v2 .br-toggle-opt + .br-toggle-opt { border-left: 2.4px solid var(--ink); }
.v2 .br-age { font-weight: 700; }
.v2 .br-profile { display: grid; gap: 14px; }
.v2 .br-answers { display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; margin: 4px 0 0; font-size: 16px; }
.v2 .br-answers dt { color: var(--mute); font-weight: 700; font-size: 14px; }
.v2 .br-answers dd { margin: 0; }
.v2 .br-members { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 14px; }
.v2 .br-card.is-small { aspect-ratio: 2.7; gap: 4px; }
.v2 .br-board { list-style: none; margin: 14px 0; padding: 0; display: grid; gap: 6px; }
.v2 .br-board li { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 4px 10px; background: #fff; border: 2px solid var(--ink); border-radius: 14px 16px 13px 17px; }
.v2 .br-board li.is-you { background: var(--marigold); }
.v2 .br-board li.is-hidden-name { border-style: dashed; }
.v2 .br-rank { width: 20px; font: 400 18px/1 var(--display); text-align: center; }
.v2 .br-lbname { flex: 1; min-width: 0; display: grid; font-weight: 700; font-size: 15px; overflow-wrap: anywhere; }
.v2 .br-lbname u { text-decoration-thickness: 2px; text-underline-offset: 3px; }
.v2 .br-lbnum { font-weight: 600; font-size: 12px; color: var(--mute); }
.v2 .br-mail { width: 360px; background: #f3f2ee; padding: 18px 12px; border-radius: 30px; box-shadow: 0 0 0 2px var(--ink); font-family: system-ui, sans-serif; color: #1c1c1a; }
.v2 .br-mail-card { background: #fff; border: 3px solid var(--ink); border-radius: 20px; padding: 20px 20px 18px; display: grid; gap: 10px; }
.v2 .br-mail-card p { margin: 0; font-size: 16px; line-height: 1.5; }
.v2 .br-mail-logo { justify-self: center; width: 200px; height: auto; }
.v2 .br-mail-door { position: relative; justify-self: center; width: 110px; height: 136px; margin: 4px 0; }
.v2 .br-mail-door .br-doorway-frame { border-radius: 55px 55px 0 0; }
.v2 .br-mail-door .br-doorway-room, .v2 .br-mail-door .br-doorway-door { border-radius: 47px 47px 0 0; }
.v2 .br-mail-door .br-doorway-door { transform: perspective(400px) rotateY(-50deg); transform-origin: left center; }
.v2 .br-mail-h { font-size: 24px !important; line-height: 1.2 !important; font-weight: 700; }
.v2 .br-mail-btn { justify-self: start; padding: 12px 22px; background: var(--pink); border: 3px solid var(--ink); border-radius: 999px; font-weight: 700; font-size: 16px; }
.v2 .br-mail-small { font-size: 13px !important; color: #55554f; }
.v2 .br-mail-sign { font-weight: 700; }
.v2 .br-mail-foot { margin: 12px 0 0; text-align: center; font-size: 12px; color: #55554f; }
@media (prefers-reduced-motion: reduce) {
  .v2 .br-av.is-picked { transform: none; }
}
.v2 .br-answer { display: contents; }
.v2 .br-cardlink { display: block; color: inherit; text-decoration: none; }
/* v2.tail.css: appended to the generated public/ui/v2.css only (never
   the lab). The few rules a REAL page needs that the lab's phone frame used to
   provide. Everything is still scoped under .v2. */

/* The v2 root. The lab's grey page and its 56px padding are the lab's; a v2
   page sits on paper: THE DRAWN PAPER WITH A FEW FAINT FLOATING PIN DOODLES
   (recording fix g, Austin approved 2026-09-28), both generated by
   scripts/design/buildcss.mjs, kept light so the pins stay the star. The slim
   header carries the same paper (not the doodles) so it reads as the page. */
.v2 { background: url("/ui/doodles.svg") center top / 390px 1040px repeat, url("/ui/paper-ink.png") 0 0 / 96px 96px, var(--paper); padding-bottom: 0; min-height: 0; }
.v2 .lx-header { background: url("/ui/paper-ink.png") 0 0 / 96px 96px, var(--paper); }

/* THE PAPER HOLDS STILL (Austin, 2026-09-28): on a real page the paper and the
   doodles are a FIXED layer behind the page and the content scrolls over them.
   A layer, not background-attachment: fixed, which iPhone Safari ignores. It
   is the root's ::before: position fixed, z-index -1 inside the root's own
   stacking context (isolation), so it paints above the root's plain paper and
   under everything else, and pointer-events: none, so it can never take a tap.
   The sticky header's paper starts at the window's top left, as the layer does,
   so the two line up at every scroll position. Nothing here moves on its own,
   so reduced motion changes nothing; no parallax (for now, Austin). The lab's
   phone previews (no .is-page) keep the scrolling background above. */
.v2.is-page { background: var(--paper); isolation: isolate; }
.v2.is-page::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: url("/ui/doodles.svg") center top / 390px 1040px repeat, url("/ui/paper-ink.png") 0 0 / 96px 96px, var(--paper); }

/* NO CREAM STRIP (recording fix e): html and body carry the shop's cream and
   lavender wash, which a phone showed above the header when the page was
   pulled down. On a page with a v2 root they take the page's paper. Only there:
   a live page has no .v2 root, and this file never loads on one anyway. */
html:has(.v2.is-page), html:has(.v2.is-page) body { background: var(--v2-paper); }

/* A REAL PAGE (V2Page adds .is-page): the dock is fixed to the window, not to a
   phone frame, and the page leaves room for it. The lab previews v2 components
   inside a phone frame without .is-page, so its dock stays in the frame.
   --v2-dockh is the nav dock's height above the safe area, MEASURED at 74px in
   WebKit and Chrome (.lx-nav's 6px top padding replaces the dock's 10: 6 + 56 +
   12), plus the 3px its drawn rule reaches above it. */
.v2.is-page { --v2-dockh: 77px; min-height: 100dvh; padding-bottom: calc(var(--v2-dockh) + 3px + env(safe-area-inset-bottom)); }
.v2.is-page .lx-dock { position: fixed; }

/* NOTHING EVER SITS BEHIND THE DOCK (recording fix b, 2026-09-28). The layout
   renders the nav dock on every v2 page, and a page's own bar (the add to cart
   on a loose or sealed pin, the cart's checkout, the tab, the pay step) was a
   second fixed dock at the same bottom edge, underneath it: Austin saw only the
   top of the add button, with the dock's wavy edge through it. A page's bar is
   now STICKY and rests directly on top of the nav dock, in the page's flow, so
   it is always in reach, never covered, and never covers the page either. */
.v2.is-page .lx-dock:not(.lx-nav) { position: sticky; bottom: calc(var(--v2-dockh) + env(safe-area-inset-bottom)); z-index: 9; padding-bottom: 12px; }

/* ONE ACTION BAR PER PAGE, ABOVE THE DOCK (2026-10-02, the relaunch). The dock is always drawn.
   With a pin in the cart the shell adds the GLOBAL cart bar (V2CartBar) on BROWSING pages only:
   a page with its own bottom bar (the cart's checkout bar, the pay step, a pin's add bar) never
   shows it. By route, V2CartBarSlot leaves it out on the cart, checkout, pay, order, confirmation
   and advent checkout pages; by rule, here, any page with its own bar in main hides it. Where it
   shows, it is fixed directly on the dock at one height (--v2-barh: two lines of total at 320
   still fit) and the page's bottom padding grows by it. */
.v2.is-page > .lx-dock.lx-cartbar { position: fixed; bottom: calc(var(--v2-dockh) + env(safe-area-inset-bottom)); z-index: 10; box-sizing: border-box; min-height: var(--v2-barh, 84px); flex-wrap: nowrap; padding-bottom: 12px; }
.v2.is-page > .lx-dock.lx-cartbar .lx-cartsum { min-width: 0; }
.v2.is-page > .lx-dock.lx-cartbar .lx-btn { flex: none; }
.v2.is-page:has(main .lx-dock) > .lx-dock.lx-cartbar { display: none; }
.v2.is-page:has(> .lx-cartbar):not(:has(main .lx-dock)) { --v2-barh: 84px; padding-bottom: calc(var(--v2-dockh) + var(--v2-barh) + 3px + env(safe-area-inset-bottom)); }

/* A sheet rising from the bottom (the signed-out heart) fixes to the window on a
   real page, over the dock, as it sits in the phone frame in the lab. */
.v2.is-page .lx-sheet { position: fixed; z-index: 30; }

/* A SHEET NEVER OUTGROWS THE PHONE (the audit, 2026-09-30). The pin sheet's photo
   is square, so on an SE-size screen the sheet was taller than the window and its
   title and close button sat above the top edge, with no backdrop left to tap. It
   now stops short of the top, scrolls inside itself, and keeps its head (the
   title and the close) pinned while it scrolls. The page under an open sheet
   does not scroll with it. */
.v2.is-page .lx-sheet { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; }
.v2.is-page .lx-sheet .lx-sheet-head { position: sticky; top: -10px; z-index: 2; background: #fff; padding: 10px 0 6px; margin-top: -10px; }
.v2.is-page .lx-pinsheet .lx-pinsheet-photo { max-height: 42vh; max-height: 42svh; }
html:has(.v2.is-page .lx-sheet) { overflow: hidden; }

/* A file input hidden as .lx-sr inside its label: the label shows keyboard focus. */
.v2 label:has(> .lx-sr:focus-visible) { outline: 3px solid var(--ink); outline-offset: 3px; }

/* Real choices (checkout's "did you mean this?"): a native radio, visually
   hidden but focusable, drives the drawn box. The tick shows only when chosen,
   and keyboard focus rings the box, because the radio itself cannot be seen. */
.v2 .lx-sr { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.v2 .lx-check { position: relative; cursor: pointer; }
.v2 .lx-check .lx-sr + .lx-box .lx-icon { visibility: hidden; }
.v2 .lx-check .lx-sr:checked + .lx-box { background: var(--cyan); }
.v2 .lx-check .lx-sr:checked + .lx-box .lx-icon { visibility: visible; }
.v2 .lx-check .lx-sr:focus-visible + .lx-box { outline: 3px solid var(--ink); outline-offset: 3px; }

/* THE LIKE NOTE SITS IN THE PAGE, under the photo and its heart (orchestrator,
   2026-09-27). Inside the dock it grew the dock over the price row; floated
   above the dock it still covered whatever lay beneath it. In the flow it covers
   nothing, and it appears beside the heart that was tapped. */
.v2 .lx-gallery + .lx-toast { flex-basis: auto; margin: 10px 0 0; display: inline-block; }

/* THE HIGHER-VALUE NOTE (Austin, 2026-09-27): plain text by the price, the page's
   own ink, no card and no warning colour. It reassures; it does not warn. */
.v2 .lx-hvnote { margin: 6px 0 14px; max-width: 34em; }

/* THE ADVENT ROOM ON A REAL PAGE (T-SEASON; the contrast lesson in AGENTS.md:
   every link on the green once measured 1.96:1). Text on the green ground takes
   the room's cream ink, links and muted lines included; anything on its own
   white card keeps the ordinary ink. */
.v2 .lx-room .lx-sub, .v2 .lx-room .lx-meta, .v2 .lx-room .lx-label, .v2 .lx-room .lx-count, .v2 .lx-room .lx-left { color: #dfeee5; }
.v2 .lx-room .lx-link, .v2 .lx-room .lx-quietlink, .v2 .lx-room .lx-back { color: #fbf5ee; }
.v2 .lx-room .lx-back .lx-icon, .v2 .lx-room > .lx-icon { stroke: #fbf5ee; }
.v2 .lx-room .lx-card .lx-sub, .v2 .lx-room .lx-card .lx-meta, .v2 .lx-room .lx-card .lx-label { color: var(--mute); }
.v2 .lx-room .lx-card .lx-link, .v2 .lx-room .lx-card .lx-quietlink { color: var(--ink); }
.v2 .lx-room .lx-faq-item { color: var(--ink); }

/* The order page's extras: a promo code, the haul card to screenshot. */
.v2 .lx-promo { margin: 10px 0 14px; }
.v2 .lx-promo .lx-signup-row { margin-top: 4px; }
.v2 .lx-haul { margin: 18px 0; display: grid; gap: 10px; }
.v2 .lx-haul-card { padding: 18px 20px; text-align: center; }
.v2 .lx-haul-lines { list-style: none; margin: 10px 0; padding: 0; display: grid; gap: 4px; font-weight: 700; }

/* Centred result pages (subscribe, sent); the sell rules; a money field. New
   names on purpose: lx-center, lx-rules and lx-money already mean other things. */
.v2 .lx-result { display: grid; justify-items: center; gap: 12px; text-align: center; }
.v2 .lx-result .lx-logotype { justify-content: center; }
.v2 .lx-steps4 { display: grid; gap: 8px; margin: 10px 0 14px; }
.v2 .lx-steps4-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; padding: 0; list-style: none; }
.v2 .lx-steps4-item { display: flex; align-items: flex-start; gap: 8px; padding: 10px; background: #fff; border: 2.2px solid var(--ink); border-radius: 16px 18px 15px 17px; font-weight: 700; font-size: 15px; line-height: 1.25; }
.v2 .lx-steps4-n { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; border: 2.2px solid var(--ink); background: var(--c); font: 400 17px/1 var(--display); }
.v2 .lx-steps4-t { display: grid; gap: 2px; min-width: 0; }
.v2 .lx-steps4-k { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mute); }
.v2 .lx-steps4-easy { margin: 0; text-align: center; font: 400 20px/1.2 var(--display); }
.v2 .lx-sellrules { list-style: none; margin: 6px 0 0; padding-left: 0; display: grid; gap: 6px; font-size: 16px; line-height: 1.45; }
.v2 .lx-moneyfield { display: flex; align-items: center; gap: 6px; font-weight: 700; }
.v2 .lx-moneyfield .lx-field { flex: 1; }

/* The advent room's pieces: a path card that is a link, a plain price row. */
.v2 .lx-advent { min-height: 100%; }
.v2.is-page .lx-advent { min-height: 100dvh; }
.v2 a.lx-choice { display: block; color: var(--ink); text-decoration: none; }
.v2 .lx-picks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.v2 .lx-picks li { display: flex; justify-content: space-between; gap: 12px; font-size: 16px; }
/* The advent steps' summary (V2AdventChosenSummary, V2AdventCheckoutSummary):
   the price rows and today's lines, spaced, above the step's own control. */
.v2 .lx-advent-sum { display: grid; gap: 10px; margin-bottom: 14px; }
.v2 .lx-picks-total { padding-top: 8px; border-top: 2px solid var(--ink); }

/* The skip link (landmarks, a11y L2): out of sight until a keyboard reaches it,
   then plainly visible at the top, with the focus ring every control has. */
.v2 .lx-skip { position: absolute; left: 12px; top: -60px; z-index: 50; padding: 10px 14px; border-radius: 12px; background: var(--ink); color: #fff; font-weight: 700; text-decoration: none; }
.v2 .lx-skip:focus { top: 10px; outline: 3px solid var(--marigold); outline-offset: 2px; }
.v2 main:focus { outline: none; }

/* The ISO offer page: one offered pin per row; a taken one is drawn as gone. */
.v2 .lx-isolines { list-style: none; margin: 14px 0; padding: 0; display: grid; gap: 10px; }
.v2 .lx-isoline { display: flex; align-items: center; gap: 12px; min-height: 44px; font-size: 16px; }
.v2 .lx-isoline-name { flex: 1; min-width: 0; }
.v2 .lx-isoline.is-taken .lx-isoline-name { color: var(--mute); text-decoration: line-through; }
.v2 .lx-isoline.is-taken .lx-box { opacity: 0.35; }
.v2 .lx-prewrap { white-space: pre-wrap; }
/* T-NOTICE on a real page: a link takes the notice's ink (cream on the advent
   green), and the focus ring there is cream, because ink on that green is ~3.1:1. */
.v2 .lx-notice a { color: inherit; }
.v2 .lx-notice.is-advent :focus-visible { outline-color: #fbf5ee; }
/* T-ARTICLE contents: the whole 44px row is the link; a jump lands just clear of the edge. */
.v2 .lx-toc li > a { display: flex; flex: 1; align-items: center; gap: 10px; min-height: 44px; color: inherit; text-decoration: none; }
.v2 .lx-article .lx-h2[id] { scroll-margin-top: 12px; }
/* Seen on the policies frames: paragraphs in an article ran together, and a sale
   line left "needed." alone on a row. Space between paragraphs; balanced notice lines. */
.v2 .lx-article p + p { margin-top: 10px; }
.v2 .lx-guide-list { margin: 10px 0 0; padding-left: 20px; display: grid; gap: 8px; font-size: 17px; line-height: 1.62; }
.v2 .lx-guide-strong { font-weight: 700; }
.v2 .lx-guide-cards { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 12px; }
.v2 .lx-guide-card { display: grid; gap: 4px; padding: 16px 18px; min-height: 44px; color: inherit; text-decoration: none; }
.v2 .lx-guide-card-t { font: 400 21px/1.15 var(--display); overflow-wrap: break-word; }
.v2 .lx-guide-card-b { font-size: 16px; line-height: 1.45; color: var(--mute); }
.v2 .lx-guide-cta { margin: 26px 0 0; }
.v2 .lx-guide-cta .lx-h2 { margin: 0 0 6px; }
.v2 .lx-guide-cta .lx-body { margin: 0; font-size: 16px; line-height: 1.5; }
.v2 .lx-guide-cta .lx-btn { margin-top: 14px; }
.v2 .lx-guide-related { margin-top: 16px; }
.v2 .lx-notice p { text-wrap: balance; }
.v2 .lx-signform { justify-self: stretch; text-align: left; }
/* THE BOARD'S PIN MARKS ARE RINGS (Austin, 2026-10-02: "never guess", then "a ring, the number outside it").
   See .lx-pinring below. */
/* The sheet leaves room above it for the marked pin (at least a third of the
   window) and scrolls inside itself, its top row pinned; the page gains room
   below while it is open so a pin at the very bottom can rise above it. */
.v2.is-page .lx-bps { max-height: 64vh; max-height: 64dvh; }
.v2.is-page .lx-bps .lx-bps-top { position: sticky; top: -10px; z-index: 2; background: #fff; padding-top: 10px; margin-top: -10px; }
.v2.is-page:has(.lx-bps)::after { content: ""; display: block; height: 100vh; height: 100dvh; }
/* THE TAB'S CLOSE-UPS (a shopper asked for them back, 2026-10-02). The row's 64px thumb is a
   button: a board pin's photo zoomed in on its own spot (left/top 50% then translate by the
   window's centre on the photo, which closeUpFrame clamps to the photo) with the board's solid
   numbered badge, a size down; a single pin's own photo. Tap for the same picture full size in
   a dark viewer. --bh keeps a badge clamped to an edge fully inside the window. */
.v2 .lx-closeup { display: block; padding: 0; border: 0; cursor: pointer; color: var(--ink); }
.v2 .lx-closeup:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.v2 .lx-closeup-win { position: absolute; inset: 0; display: block; overflow: hidden; --bh: 11px; }
.v2 .lx-closeup-win > img { position: absolute; left: 50%; top: 50%; display: block; max-width: none; height: auto; user-select: none; }
.v2 .lx-closeup-own { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.v2.lx-viewer { position: fixed; inset: 0; z-index: 60; min-height: 0; padding: 16px; display: grid; place-items: center; background: rgba(11, 12, 11, 0.86); }
.v2 .lx-viewer-in { position: relative; width: min(100%, 560px, calc(100vh - 104px)); width: min(100%, 560px, calc(100dvh - 104px)); padding-top: 56px; }
.v2 .lx-viewer-x { position: absolute; top: 0; right: 0; width: 44px; height: 44px; border: 2.2px solid var(--ink); border-radius: 50%; background: #fff; color: var(--ink); font-size: 18px; cursor: pointer; }
.v2 .lx-viewer-x:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.v2 .lx-viewer-pic { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: 18px 20px 17px 19px; background: var(--plate); }
.v2 .lx-viewer-pic .lx-closeup-win { --bh: 17px; }
.v2 .lx-viewer-pic .lx-closeup-own { object-fit: contain; background: #fff; }
html:has(.lx-viewer) { overflow: hidden; }
/* A PIN MARKED ON A PHOTO (V2PinRing): a colored ring around the pin, sized by --ring (the board's own pin
   spacing, never under 40px), and its number in a small tag (.lx-ringtag; NOT .lx-pintag, which is the pin tiles' price tag) just OUTSIDE the ring at a corner of the ring's box,
   flipped left or below to stay inside the photo. Nothing is drawn over the pin. Rings take no taps.
   chosen (the open sheet's pin) pink with an ink edge; cart ink with a white halo; thin (the tab's close-up). */
.v2 .lx-pinring { position: absolute; z-index: 1; width: max(40px, var(--ring, 13%)); aspect-ratio: 1; box-sizing: border-box; transform: translate(-50%, -50%); border-radius: 50%; pointer-events: none; }
.v2 .lx-pinring.is-chosen { z-index: 3; border: 4px solid var(--pink); box-shadow: 0 0 0 2px var(--ink), 0 0 0 4.5px #fff, inset 0 0 0 1.5px var(--ink); }
.v2 .lx-pinring.is-cart { border: 3.5px solid var(--ink); box-shadow: 0 0 0 2.5px #fff, inset 0 0 0 2px #fff; }
.v2 .lx-pinring.is-thin { border: 2px solid #fff; box-shadow: 0 0 0 1.5px var(--ink), inset 0 0 0 1.5px var(--ink); }
.v2 .lx-ringtag { position: absolute; left: 100%; bottom: 100%; min-width: 24px; height: 24px; padding: 0 6px; box-sizing: border-box; display: grid; place-items: center; border-radius: 12px 13px 11px 12px; font: 800 13px/1 var(--text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.v2 .lx-ringtag.is-l { left: auto; right: 100%; }
.v2 .lx-ringtag.is-b { bottom: auto; top: 100%; }
.v2 .is-chosen > .lx-ringtag { background: var(--pink); color: var(--ink); border: 2px solid var(--ink); box-shadow: 0 0 0 2px #fff; }
.v2 .is-cart > .lx-ringtag { background: var(--ink); color: #fff; box-shadow: 0 0 0 2px #fff; }
.v2 .lx-pinkey { position: relative; border: 3px solid var(--ink); background: none; }
.v2 .lx-pinkey::after { content: "#"; position: absolute; left: 100%; bottom: 70%; padding: 1px 3px; border-radius: 5px; background: var(--ink); color: #fff; font: 800 9px/1 var(--text); }
.v2 .lx-legend span:has(> .lx-pinkey) { gap: 12px; }
.v2 .lx-isone { grid-template-columns: 1fr; }
.v2 .lx-isone-photo { position: relative; display: block; overflow: hidden; border: 2.6px solid var(--ink); border-radius: 18px 20px 17px 19px; background: var(--plate); }
.v2 .lx-isone-photo > img { display: block; width: 100%; height: auto; }
.v2 .lx-viewer-cap { margin: 10px 0 0; color: #fff; font-weight: 700; text-align: center; }
/* HOME OPTION A (Austin, 2026-10-03, APPROVED): the top of the home page gets the shopper to pins fast.
   "What's your vibe?" is ONE row of stickers you swipe sideways (no grid), and the Board Room and the trade-in
   are two small cards side by side (.lx-homeduo); a member's Board Room card is their own small member card.
   Every control stays 44px or more. */
.v2 .lx-vibes { padding: 6px 0 2px; gap: 6px; }
.v2 .lx-vibes > .lx-logotype { padding: 0 14px; }
.v2 .lx-vibes .lx-logotype { font-size: 30px; }
.v2 .lx-vibe-season { padding: 0 14px; }
.v2 .lx-vibe-row { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x proximity; gap: 8px; padding: 4px 14px 8px; scroll-padding-inline: 14px; scrollbar-width: none; }
.v2 .lx-vibe-row::-webkit-scrollbar { display: none; }
.v2 .lx-vibe-row > .lx-vibe { flex: 0 0 auto; scroll-snap-align: start; padding: 3px; }
.v2 .lx-vibe-row .lx-vibe-in { flex-direction: row; min-height: 46px; gap: 6px; padding: 4px 14px; white-space: nowrap; }
.v2 .lx-vibe-row .lx-vibe-label { font-size: 17px; }
.v2 .lx-vibe-row .lx-vibe-doodle { width: 22px; height: 22px; }
.v2 .lx-homeduo { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 8px 14px 4px; align-items: stretch; }
.v2 .lx-homeduo.is-one { grid-template-columns: 1fr; }
/* The Board Room slot's wrapper steps aside so the route's line under a member's card can run full width under
   BOTH cards (row 2), where it fits on one line at 390. */
.v2 .lx-homeduo-br { display: contents; }
.v2 .lx-homeduo > .lx-tradein-home { grid-column: 2; grid-row: 1; }
.v2 .lx-homeduo.is-one > .lx-tradein-home { grid-column: 1; }
.v2 .lx-homeduo .br-hero, .v2 .lx-homeduo .br-hero.is-in, .v2 .lx-homeduo .lx-tradein-home { margin: 0; padding: 10px; display: grid; gap: 6px; align-content: space-between; justify-items: stretch; min-width: 0; background: #fff; border: 2.4px solid var(--ink); border-radius: 16px 18px 15px 17px; }
.v2 .lx-homeduo .br-hero-h { margin: 0; font: 400 18px/1.05 var(--display); }
.v2 .lx-homeduo .br-hero-sub { margin: 0; font-size: 13px; line-height: 1.3; }
.v2 .lx-homeduo .br-join { margin: 0; width: 100%; min-height: 44px; height: auto; padding: 6px 8px; justify-content: center; text-align: center; white-space: normal; overflow: visible; font-size: clamp(13px, 3.9vw, 15px); line-height: 1.1; }
.v2 .lx-homeduo .lx-tradein-home .br-join { white-space: nowrap; }
/* A member's own card in the half-width slot: the full card at a fixed 330px, drawn smaller with zoom (it keeps its
   look). A percentage width does not survive zoom, so the zoom steps with the phone's width to fit the slot, about
   (width - 38) / 2 - 25 px: 0.34 at 320, 0.43 at 390, 0.5 from 430. */
.v2 .lx-homeduo .br-card { width: 100%; max-width: 100%; justify-self: stretch; }
.v2 .lx-homeduo-br > .br-center { grid-column: 1 / -1; grid-row: 2; margin: -6px 0 0; font-size: 13px; line-height: 44px; text-align: center; }
/* Its two links keep their place in the sentence and take a 44px-tall tap: each line is 44px tall and each link's
   padded box fills its own line, so a wrapped link never covers the other. */
.v2 .lx-homeduo-br > .br-center a { display: inline-block; line-height: 1.3; padding: 14px 2px; margin: -14px -2px; }
/* THE STRONGER PHOTO LIFT (Austin's pick, 2026-10-03: brightness 1.12, contrast 1.08, saturation 1.08). Applied as
   the page shows a photo; the photos themselves are never changed. ONLY the shop's own pin photos (the board-photos
   and listing-photos buckets): the board photo, board and single-pin tiles, a listing's gallery and lightbox, the
   hero, the Vault and trade pins, cart, tab and checkout thumbnails, the tab close-ups and "Is this the one?".
   Never a shopper's own upload (trade-ins, hunts, authenticity checks), the logo, an avatar or a drawing: those sit
   in other containers, and the proof checks every image on every page against its bucket. */
.v2 .lx-photo-img, .v2 .lx-plate img, .v2 .lx-pinface img, .v2 .lx-boardface img, .v2 .lx-picstile img, .v2 .lx-picsbox-img,
.v2 .lx-hero-under, .v2 .lx-hero-over, .v2 .lx-vault-photo img, .v2 .lx-trade-photo img,
.v2 .lx-line .lx-thumb:not(.lx-thumb-photo) img, .v2 .lx-thumbs .lx-thumb:not(.lx-thumb-photo) img,
.v2 .lx-closeup-win > img, .v2 .lx-closeup-own, .v2 .lx-isone-photo > img {
  filter: brightness(1.12) contrast(1.08) saturate(1.08);
}
/* THE MEMBER CARD FITS ITS CONTAINER (live fix, 2026-10-03: on an iPhone at 390 the home's small Board Room card cut
   "Pinmeupco" to "Pinmeupc", "since 2026" to "sin 20" and the avatar row at the bottom). The causes: a fixed aspect
   ratio on a box with overflow:hidden (a scroll container, so it could not grow: what did not fit was cut), names
   at fixed sizes, a top row that could not wrap, and the home's 330px card shrunk with CSS zoom (which Safari scales
   differently). Now, wherever the card is drawn: it is a size container and every size inside it follows its own
   width (cqi) between a floor and a ceiling; the aspect ratio is only its preferred shape and overflow:clip lets it
   grow taller rather than cut; the name shrinks to 13px at the least, then wraps, never clipped; "since" drops below
   the lockup when the row is tight; the avatar never shrinks away. The home card drops its zoom and takes its slot (its zoom rules are gone). */
/* Never wider than its container: a card that grows taller must not grow wider through its aspect ratio (as a grid
   item its automatic minimum width is its height times the ratio; min-width: 0 removes it). */
.v2 .br-card { overflow: clip; container-type: inline-size; min-width: 0; max-width: min(360px, 100%); padding: clamp(7px, 4.4%, 16px); gap: 6px; }
/* (the card's OWN padding is a percentage of its slot: cqi on the container itself would resolve against the viewport) */
/* The link around a small card fills its row (a size container has no width of its own to shrink to). */
.v2 .br-cardlink { width: 100%; max-width: 360px; }
.v2 .br-card-top { flex-wrap: wrap; gap: 4px 8px; }
.v2 .br-card-top .br-lockup { font-size: clamp(10px, 4.4cqi, 16px); padding: 0.25em 0.55em 0.25em 0.4em; }
.v2 .br-card-top .br-lockup-door { width: 1.35em; height: 1.35em; }
.v2 .br-card-top .br-lockup-the { font-size: 0.75em; }
.v2 .br-card-since, .v2 .br-card.is-small .br-card-since { margin-left: auto; white-space: nowrap; font-size: clamp(10px, 3.6cqi, 13px); }
.v2 .br-card-mid { gap: clamp(6px, 3.9cqi, 14px); align-items: center; }
.v2 .br-card .br-card-mid > .br-av { width: clamp(32px, 19cqi, 68px) !important; height: clamp(32px, 19cqi, 68px) !important; }
.v2 .br-card .br-card-mid .br-av-letter { font-size: clamp(14px, 8.7cqi, 31px) !important; }
.v2 .br-card-name, .v2 .br-card-name.is-long, .v2 .br-card.is-small .br-card-name, .v2 .br-card.is-small .br-card-name.is-long {
  font-size: clamp(13px, 7cqi, 25px); -webkit-text-stroke-width: max(2.5px, 0.2em); overflow-wrap: anywhere; }
.v2 .br-card-name.is-long, .v2 .br-card.is-small .br-card-name.is-long { font-size: clamp(13px, 5.3cqi, 19px); }
.v2 .br-card-num, .v2 .br-card.is-small .br-card-num { font-size: clamp(10px, 4.2cqi, 15px); padding: 0.25em 0.6em; }
.v2 .br-card-doodle, .v2 .br-card.is-small .br-card-doodle { width: clamp(48px, 31cqi, 112px); height: clamp(48px, 31cqi, 112px); }
.v2 .br-cards { grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 340px)); }
/* A very narrow card (the home's half-width slot at 320, or with larger text: a content box under 120px): the number may wrap, and the name
   and number move under the avatar rather than squeeze beside it; the lockup takes a smaller floor. */
.v2 .br-card-num { max-width: 100%; }
@container (max-width: 120px) {
  .v2 .br-card-mid { flex-wrap: wrap; align-items: flex-start; }
  .v2 .br-card-who { flex: 1 1 100%; }
  .v2 .br-card-top .br-lockup { font-size: 9px; }
}

/* The trade-in line under /listings and /boards (SEO plumbing, 2026-10-04). */
.v2 .lx-sellnudge { text-align: center; margin: 18px 0 0; }
.v2 .lx-sellnudge .lx-link { display: inline-flex; align-items: center; min-height: 44px; }
