/* FLIP AI · page styles. Engine mechanism lives in scrollcraft.css, untouched. */
:root {
  --sc-canvas: #07090C;
  --sc-surface: #0E1318;
  --sc-ink: #EEF2F4;
  --sc-ink-soft: #97A4AC;
  --sc-accent: #46E08A;
  --sc-accent-ink: #04140B;
  --sc-font-display: "Archivo", system-ui, sans-serif;
  --sc-font-text: "Archivo", system-ui, sans-serif;
  --blue: #6CB4FF;
  --silver: #C9D1D6;
  --line: color-mix(in oklab, var(--sc-ink) 13%, transparent);
  --line-2: color-mix(in oklab, var(--sc-ink) 24%, transparent);
  --r: 12px;
  --r-lg: 20px;
  --bar-h: 4rem;
}
html { scroll-padding-top: var(--bar-h); }
body { font-weight: 400; }
img { height: auto; }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip { position: fixed; left: 1rem; top: -4rem; z-index: 50; background: var(--sc-ink); color: var(--sc-canvas); padding: .6rem 1rem; border-radius: var(--r); }
.skip:focus { top: 1rem; }

/* ---- type ---- */
.disp { font-family: var(--sc-font-display); font-stretch: 112%; font-weight: 700; line-height: 1.02; letter-spacing: -0.022em; margin: 0; text-wrap: balance; }
.disp em { font-style: normal; color: var(--sc-accent); }
.disp--xl { font-size: clamp(2.5rem, 1.2rem + 4.6vw, 5.4rem); }
.disp--lg { font-size: clamp(2rem, 1.3rem + 2.7vw, 3.6rem); }
.disp--md { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem); letter-spacing: -0.015em; }
p { margin: 0; }
.fine { font-size: var(--sc-t-xs); color: var(--sc-ink-soft); letter-spacing: .01em; }
td, .money input, .read b, .ladder span, .watch b { font-variant-numeric: tabular-nums; }

/* ---- controls ---- */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: 0 1.4rem; border: 0; border-radius: var(--r); background: var(--sc-accent); color: var(--sc-accent-ink); font-weight: 650; font-stretch: 105%; letter-spacing: -0.005em; text-decoration: none; white-space: nowrap; cursor: pointer; transition: transform 140ms var(--sc-ease-out), background-color 160ms var(--sc-ease-out); }
.btn:active { transform: scale(.97); }
.btn--sm { min-height: 2.5rem; padding: 0 1rem; font-size: var(--sc-t-sm); }
.btn--ghost { background: transparent; color: var(--sc-ink); box-shadow: inset 0 0 0 1px var(--line-2); }
.btn[disabled] { opacity: .45; cursor: not-allowed; }
@media (hover: hover) and (pointer: fine) { .btn:not([disabled]):hover { background: color-mix(in oklab, var(--sc-accent) 86%, white); } .btn--ghost:not([disabled]):hover { background: color-mix(in oklab, var(--sc-ink) 8%, transparent); } }
.link { color: var(--sc-ink); text-decoration: underline; text-decoration-color: var(--line-2); padding: .75rem 0; }
@media (hover: hover) { .link:hover { text-decoration-color: var(--sc-accent); } }

/* ---- top bar ---- */
.bar { position: fixed; inset: 0 0 auto 0; z-index: 20; height: var(--bar-h); display: flex; align-items: center; gap: 1rem; padding-inline: max(var(--sc-gutter), calc((100vw - var(--sc-maxw)) / 2 + var(--sc-gutter))); background: linear-gradient(to bottom, color-mix(in oklab, var(--sc-canvas) 88%, transparent), transparent); }
.bar::before { content: ""; position: absolute; inset: 0; background: color-mix(in oklab, var(--sc-canvas) 82%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); opacity: 0; transition: opacity 240ms var(--sc-ease-out); z-index: -1; }
.bar.is-solid::before { opacity: 1; }
.mark { font-stretch: 125%; font-weight: 800; font-size: 1.05rem; letter-spacing: .02em; text-decoration: none; color: var(--sc-ink); display: inline-flex; gap: .35em; padding: .6rem 0; }
.mark span { font-weight: 300; color: var(--sc-accent); }
.bar__login { margin-left: auto; color: var(--sc-ink); text-decoration: none; font-size: var(--sc-t-sm); padding: .6rem .4rem; }
@media (hover: hover) { .bar__login:hover { text-decoration: underline; text-underline-offset: .25em; } }
.close__msg a { color: var(--sc-accent); }
.chip { display: inline-flex; align-items: center; gap: .5rem; font-size: var(--sc-t-xs); color: var(--sc-ink-soft); text-decoration: none; padding: .45rem .7rem; border-radius: var(--r); box-shadow: inset 0 0 0 1px var(--line); white-space: nowrap; font-variant-numeric: tabular-nums; }
.chip[hidden] { display: none; }
.chip b { color: var(--v, var(--sc-accent)); font-stretch: 115%; letter-spacing: .04em; }
@media (max-width: 720px) { .chip { display: none; } }

/* ---- sector rail (right edge) ---- */
.sectors { position: fixed; right: clamp(.6rem, 1.4vw, 1.4rem); top: 50%; z-index: 19; transform: translateY(-50%); display: flex; flex-direction: column; }
.sectors a { display: flex; align-items: center; justify-content: flex-end; gap: .6rem; height: 1.9rem; text-decoration: none; color: var(--sc-ink-soft); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.sectors i { order: 2; width: 14px; height: 2px; background: var(--line-2); transition: width 200ms var(--sc-ease-out), background-color 200ms var(--sc-ease-out); }
.sectors span { opacity: 0; transform: translateX(6px); transition: opacity 180ms var(--sc-ease-out), transform 180ms var(--sc-ease-out); }
.sectors a.is-on i { width: 30px; background: var(--sc-accent); }
.sectors a.is-on span { opacity: 1; transform: none; color: var(--sc-ink); }
.sectors span { padding: .15rem .4rem; border-radius: 5px; background: color-mix(in oklab, var(--sc-canvas) 78%, transparent); }
.sectors a:focus-visible span { opacity: 1; transform: none; }
@media (hover: hover) and (pointer: fine) { .sectors:hover span { opacity: 1; transform: none; } .sectors a:hover { color: var(--sc-ink); } .sectors a:hover i { width: 22px; } }
@media (max-width: 1100px) { .sectors { display: none; } }

/* =============== LOT 1 · HERO =============== */
.hero { --s: 0; --mx: 0; --my: 0; position: relative; min-height: 100svh; display: flex; align-items: center; overflow: clip; background: radial-gradient(120% 80% at 78% 40%, #0F1A22 0%, var(--sc-canvas) 62%); }
.hero__scene { position: absolute; inset: 0; }
.pl { position: absolute; --ds: 0; --dm: 0; --dz: 0; transform: translate3d(calc(var(--mx) * var(--dm) * 1px), calc(var(--s) * var(--ds) * 1px + var(--my) * var(--dm) * .6px), 0) scale(calc(1 + var(--s) * var(--dz))); will-change: transform; }
.pl img { width: 100%; height: auto; max-width: none; }
.hero__chart { inset: 0; width: 100%; height: 100%; --ds: -50; --dm: 5; opacity: .9; }
.hero__chart .grid path { stroke: color-mix(in oklab, var(--sc-ink) 5%, transparent); stroke-width: 1; fill: none; vector-effect: non-scaling-stroke; }
.hero__chart .line { fill: none; stroke: color-mix(in oklab, var(--sc-accent) 38%, transparent); stroke-width: 1.5; vector-effect: non-scaling-stroke; stroke-dasharray: 2600; stroke-dashoffset: 2600; animation: draw 2.2s .2s var(--sc-ease-out) forwards; }
.hero__chart .line--b { stroke: color-mix(in oklab, var(--blue) 26%, transparent); animation-delay: .5s; }
@keyframes draw { to { stroke-dashoffset: 0; } }
.hero__console { left: 44%; top: 11%; width: 27vw; --ds: -110; --dm: 9; --dz: -.04; filter: blur(1.6px) brightness(.72); }
.hero__walkman { right: 5%; top: 13%; width: 12.5vw; --ds: -170; --dm: 14; filter: blur(.4px) brightness(.9); rotate: 5deg; }
.hero__shoe { right: 7%; top: 31%; width: 45vw; --ds: -250; --dm: 22; --dz: .05; }
.hero__shoe img { filter: drop-shadow(0 40px 34px rgba(0,0,0,.55)); }
.hero__camera { left: 37%; bottom: -7%; width: 25vw; --ds: -430; --dm: 38; --dz: .1; filter: blur(1.8px) brightness(.95); }
.hero__slab { right: 3.5%; bottom: 7%; --ds: -350; --dm: 32; rotate: 9deg; }
.read { position: absolute; left: 63%; top: 3%; display: grid; grid-template-columns: auto auto; column-gap: .7rem; align-items: baseline; padding-left: .8rem; border-left: 1px solid var(--line-2); font-size: var(--sc-t-xs); color: var(--sc-ink-soft); text-transform: uppercase; letter-spacing: .08em; }
.read b { font-size: 1.25rem; font-weight: 600; color: var(--sc-ink); letter-spacing: 0; font-stretch: 110%; }
.read b.up { color: var(--sc-accent); }
.hero__copy { position: relative; z-index: 2; padding-top: var(--bar-h); }
.hero__copy h1 { max-width: 12.5ch; }
.hero__sub { margin-top: 1.5rem; max-width: 34ch; font-size: var(--sc-t-lg); line-height: 1.4; color: var(--sc-ink-soft); }
.hero__cta { margin-top: 2.25rem; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.hero__note { position: absolute; z-index: 2; left: max(var(--sc-gutter), calc((100vw - var(--sc-maxw)) / 2 + var(--sc-gutter))); bottom: 1.5rem; font-size: var(--sc-t-xs); color: color-mix(in oklab, var(--sc-ink-soft) 80%, transparent); }
.hero__floor { position: absolute; inset: auto 0 0 0; height: 16rem; background: linear-gradient(to bottom, transparent, var(--sc-canvas)); pointer-events: none; z-index: 1; }
@media (max-width: 860px) {
  .hero { align-items: flex-start; min-height: 0; padding-bottom: 3.5rem; }
  .hero__copy { padding-top: calc(var(--bar-h) + 1.5rem); }
  .hero__copy h1 { max-width: 11ch; }
  .hero__scene { position: relative; inset: auto; width: 100%; height: 23rem; order: 2; margin-top: 1rem; }
  .hero { flex-direction: column; }
  .hero__chart { opacity: .6; }
  .hero__shoe { right: -6%; left: 10%; top: 22%; width: auto; --ds: -60; }
  .hero__console { left: -8%; top: 0; width: 56%; --ds: -20; }
  .hero__walkman { right: 6%; top: 2%; width: 24%; --ds: -36; }
  .hero__camera { left: -10%; bottom: -4%; width: 50%; --ds: -110; }
  .hero__slab { right: 5%; bottom: 0; --ds: -90; }
  .read { left: 4%; top: -14%; }
  .hero__note { position: static; padding-inline: var(--sc-gutter); margin-top: 1rem; order: 3; }
  .hero__floor { display: none; }
}

/* ---- the slab and its card (drawn here, original art) ---- */
.slab { --w: 8.5rem; --fx: 0; --fy: 0; width: var(--w); aspect-ratio: .615; border-radius: calc(var(--w) * .055); padding: calc(var(--w) * .05); display: flex; flex-direction: column; gap: calc(var(--w) * .04); background: linear-gradient(140deg, rgba(255,255,255,.2), rgba(255,255,255,.04) 38%, rgba(255,255,255,.1)); border: 1px solid rgba(255,255,255,.26); box-shadow: 0 24px 40px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.4); transition: background-color 260ms var(--sc-ease-out), border-color 260ms var(--sc-ease-out), box-shadow 260ms var(--sc-ease-out); }
.slab--md { --w: 12rem; } .slab--xl { --w: min(19rem, 64vw); }
.slab__label { flex: 0 0 14%; display: flex; align-items: center; justify-content: space-between; padding-inline: 7%; border-radius: calc(var(--w) * .02); background: #EEF2F4; color: #0B0E11; font-size: calc(var(--w) * .052); font-weight: 600; letter-spacing: .05em; text-transform: uppercase; transition: opacity 220ms var(--sc-ease-out); }
.slab__label b { font-size: calc(var(--w) * .125); font-stretch: 125%; font-weight: 800; letter-spacing: 0; line-height: 1; }
.card { position: relative; flex: 1; border-radius: calc(var(--w) * .035); overflow: hidden; border: calc(var(--w) * .028) solid #D5DBDF; background: #08121C; }
.card__art { position: absolute; inset: 0; background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 280' preserveAspectRatio='xMidYMid slice'%3E%3Cdefs%3E%3ClinearGradient id='s' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%230B2545'/%3E%3Cstop offset='.6' stop-color='%23134E6F'/%3E%3Cstop offset='1' stop-color='%2346E08A'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='200' height='280' fill='url(%23s)'/%3E%3Cg fill='none' stroke='%23EEF2F4' stroke-opacity='.22'%3E%3Ccircle cx='100' cy='118' r='34'/%3E%3Ccircle cx='100' cy='118' r='52'/%3E%3Ccircle cx='100' cy='118' r='72'/%3E%3Ccircle cx='100' cy='118' r='96'/%3E%3C/g%3E%3Ccircle cx='100' cy='118' r='22' fill='%23EEF2F4'/%3E%3Cpath d='M0 214 L46 150 L78 190 L118 128 L160 186 L200 146 V280 H0Z' fill='%2307131F'/%3E%3Cpath d='M118 128 L134 151 L122 160 L110 148Z' fill='%23EEF2F4' fill-opacity='.85'/%3E%3Cpath d='M0 244 L60 206 L104 236 L150 204 L200 232 V280 H0Z' fill='%23040A10'/%3E%3Cg fill='%23EEF2F4'%3E%3Ccircle cx='28' cy='36' r='1.4'/%3E%3Ccircle cx='168' cy='52' r='1.1'/%3E%3Ccircle cx='150' cy='22' r='1.5'/%3E%3Ccircle cx='52' cy='78' r='1'/%3E%3Ccircle cx='180' cy='98' r='1.2'/%3E%3C/g%3E%3C/svg%3E") center / cover; }
.card__foil { position: absolute; inset: 0; background: linear-gradient(115deg, transparent 22%, rgba(108,180,255,.6) 38%, rgba(70,224,138,.55) 49%, rgba(255,255,255,.7) 55%, rgba(108,180,255,.35) 62%, transparent 76%); background-size: 260% 260%; background-position: calc(50% + var(--fx) * 45%) calc(50% + var(--fy) * 45%); mix-blend-mode: color-dodge; opacity: .7; }
.slab[data-grade="raw"] { background: transparent; border-color: transparent; box-shadow: none; }
.slab[data-grade="raw"] .slab__label { opacity: 0; }
.slab[data-grade="raw"] .card { box-shadow: 0 24px 40px rgba(0,0,0,.55); }

/* ---- the hang tag (drawn here) ---- */
.hangtag { position: relative; width: 9.5rem; aspect-ratio: .6; padding: 3.2rem 1rem 1rem; border-radius: 5px; background: linear-gradient(170deg, #F1F3F1, #D9DEDB); color: #111519; display: flex; flex-direction: column; gap: .3rem; rotate: -6deg; box-shadow: 0 22px 36px rgba(0,0,0,.5); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.hangtag--lg { width: 12.5rem; font-size: .9rem; padding-top: 4rem; }
.hangtag b { font-size: 1.25em; font-stretch: 118%; font-weight: 800; letter-spacing: 0; line-height: 1.05; margin-bottom: .35rem; text-transform: none; }
.hangtag__hole { position: absolute; top: 1rem; left: 50%; width: .9rem; height: .9rem; margin-left: -.45rem; border-radius: 50%; background: var(--sc-canvas); box-shadow: inset 0 1px 2px rgba(0,0,0,.6); }
.hangtag__hole::after { content: ""; position: absolute; left: 50%; bottom: 50%; width: 1px; height: 9rem; background: linear-gradient(to top, #C9D1D6, transparent); transform-origin: bottom; rotate: 9deg; }
.hangtag__bars { margin-top: auto; height: 1.6rem; background: repeating-linear-gradient(90deg, #111519 0 2px, transparent 2px 3px, #111519 3px 4px, transparent 4px 7px, #111519 7px 10px, transparent 10px 12px); }

/* =============== LOT 2 · RECOGNITION =============== */
.aisle { background: var(--sc-canvas); }
.aisle__grid { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--sc-5); row-gap: var(--sc-6); align-items: end; }
.aisle__grid h2 { grid-column: 1 / span 7; }
.aisle__body { grid-column: 9 / span 4; display: grid; gap: 1rem; color: var(--sc-ink-soft); }
@media (max-width: 860px) { .aisle__grid h2, .aisle__body { grid-column: 1 / -1; } }

/* =============== LOT 3 · CATEGORIES =============== */
.cats { background: #0A0E12; }
.cats__stage { display: flex; align-items: center; min-height: 100vh; overflow: clip; }
.rail { align-items: stretch; gap: clamp(2rem, 4vw, 4.5rem); padding-inline: var(--sc-gutter); padding-top: var(--bar-h); }
.rail__lead { flex: 0 0 min(30rem, 78vw); align-self: center; display: grid; gap: 1.25rem; }
.rail__lead p, .rail__tail p { color: var(--sc-ink-soft); max-width: 30ch; }
.rail__tail { flex: 0 0 min(24rem, 70vw); align-self: center; font-size: var(--sc-t-lg); line-height: 1.35; }
.rail__tail p { color: var(--sc-ink); max-width: 20ch; }
.cat { flex: 0 0 clamp(19rem, 27vw, 25rem); display: flex; flex-direction: column; }
.cat__obj { height: min(40vh, 22rem); display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; }
.cat__obj img { max-height: 100%; width: auto; max-width: 112%; filter: drop-shadow(0 30px 26px rgba(0,0,0,.5)); }
.cat h3 { font-stretch: 112%; font-weight: 700; font-size: var(--sc-t-xl); letter-spacing: -0.015em; margin: 0 0 1rem; }
.cat dl { margin: 0; }
.cat dl div { display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--line); font-size: var(--sc-t-sm); }
.cat dt { color: var(--sc-ink-soft); } .cat dd { margin: 0; }
.cats.is-flow .cats__stage { min-height: 0; display: block; padding-block: var(--sc-section); }
.cats.is-flow .rail { display: flex; flex-direction: column; gap: 3.5rem; padding-top: 0; }
.cats.is-flow .rail > * { flex: none; align-self: stretch; }
.cats.is-flow .cat__obj { height: 15rem; }

/* ---- authored silence ---- */
.hush { height: 46vh; display: grid; place-items: center; background: linear-gradient(to bottom, #0A0E12, var(--sc-canvas)); }
.hush p { font-size: var(--sc-t-sm); color: var(--sc-ink-soft); letter-spacing: .14em; text-transform: uppercase; }

/* =============== LOT 4 · SCAN (peak) =============== */
.scan { --wall: 0; --beam: 0; --range: 0; background: var(--sc-canvas); }
.scan__stage { min-height: 100vh; display: flex; align-items: center; overflow: clip; background: color-mix(in oklab, var(--sc-canvas), #0A2B1B calc(var(--wall) * 82%)); }
.scan__wall { position: absolute; left: 50%; top: 50%; translate: -50% -52%; font-stretch: 125%; font-weight: 800; font-size: 31vw; line-height: .8; letter-spacing: -0.04em; color: var(--sc-accent); opacity: calc(var(--wall) * .17); transform: scale(calc(1.12 - var(--wall) * .12)); pointer-events: none; user-select: none; }
.scan__grid { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--sc-5); row-gap: 1.5rem; align-items: center; padding-top: var(--bar-h); }
.scan__head { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.listing { grid-column: 1 / span 7; margin: 0; border-radius: var(--r-lg); overflow: hidden; background: var(--sc-surface); box-shadow: 0 30px 60px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08); }
.listing__photo { position: relative; aspect-ratio: 16 / 10; background: linear-gradient(165deg, #E4E9EC, #BFC8CE); display: grid; place-items: center; overflow: hidden; }
.listing__photo img { width: 82%; height: auto; filter: drop-shadow(0 18px 14px rgba(20,30,40,.35)); }
.listing figcaption { display: flex; justify-content: space-between; align-items: center; padding: .9rem 1.2rem; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.listing figcaption b { color: var(--sc-ink); font-size: 1.4rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.beam { position: absolute; top: 0; bottom: 0; left: calc(var(--beam) * 100%); width: 2px; background: #0B8F4B; box-shadow: 0 0 0 1px rgba(70,224,138,.5); opacity: var(--beam-on, 0); }
.beam::before { content: ""; position: absolute; top: 0; bottom: 0; right: 2px; width: 9rem; background: linear-gradient(to left, rgba(11,143,75,.3), transparent); }
.pin { position: absolute; width: 12px; height: 12px; margin: -6px; border-radius: 50%; border: 2px solid #0B0E11; background: var(--sc-accent); opacity: 0; scale: .9; transition: opacity 200ms var(--sc-ease-out), scale 200ms var(--sc-ease-out); }
.pin b { position: absolute; left: 16px; top: 50%; translate: 0 -50%; white-space: nowrap; background: #0B0E11; color: #EEF2F4; font-size: .72rem; font-weight: 500; padding: .3rem .55rem; border-radius: 6px; }
.pin.on { opacity: 1; scale: 1; }
.pin--a { left: 52%; top: 44%; } .pin--b { left: 15%; top: 30%; } .pin--c { left: 38%; top: 80%; }
.readout { grid-column: 9 / span 4; }
[data-step] { opacity: 0; transform: translateY(8px); transition: opacity 260ms var(--sc-ease-out), transform 260ms var(--sc-ease-out); }
[data-step].on { opacity: 1; transform: none; }
.ident { margin: 0 0 1rem; }
.ident div { display: grid; grid-template-columns: 7.5rem 1fr; gap: 1rem; padding: .55rem 0; border-top: 1px solid var(--line); font-size: var(--sc-t-sm); align-items: center; }
.ident dt { color: var(--sc-ink-soft); } .ident dd { margin: 0; }
.range { display: block; height: 3px; background: var(--line); margin-bottom: .4rem; position: relative; }
.range i { position: absolute; inset: 0 22% 0 34%; background: var(--blue); transform: scaleX(var(--range)); transform-origin: left; }
.ledger { width: 100%; border-collapse: collapse; font-size: var(--sc-t-sm); }
.ledger th { text-align: left; font-weight: 400; color: var(--sc-ink-soft); padding: .5rem 0; }
.ledger td { text-align: right; padding: .5rem 0; }
.ledger tr + tr th, .ledger tr + tr td { border-top: 1px solid var(--line); }
.ledger .ledger__net th, .ledger .ledger__net td { border-top: 1px solid var(--line-2); padding-top: .8rem; color: var(--sc-ink); font-weight: 600; font-size: 1.35rem; }
.verdict { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-top: .5rem; }
.verdict b { font-stretch: 125%; font-weight: 800; font-size: clamp(3rem, 2rem + 3.4vw, 4.8rem); line-height: .95; letter-spacing: -0.02em; color: var(--v, var(--sc-accent)); }
.verdict span { white-space: nowrap; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); text-align: right; font-variant-numeric: tabular-nums; }
.replay { grid-column: 1 / -1; justify-self: start; background: none; border: 0; padding: .75rem 0; color: var(--sc-ink); text-decoration: underline; text-decoration-color: var(--line-2); cursor: pointer; }
.replay[hidden] { display: none; }
.scan.is-flow .scan__stage { position: relative; min-height: 0; padding-block: var(--sc-section); }
.scan.is-flow .scan__grid { padding-top: 0; }
@media (max-width: 860px) {
  .listing, .readout { grid-column: 1 / -1; }
  .scan__wall { font-size: 60vw; top: 34%; }
  .pin b { font-size: .66rem; }
}
@media (max-height: 760px) and (min-width: 861px) { .listing__photo { aspect-ratio: 16 / 8.4; } .ident div, .ledger th, .ledger td { padding-block: .38rem; } }

/* =============== LOT 5 · SIMULATOR =============== */
.sim { background: var(--sc-canvas); }
.sim__head { display: grid; gap: 1.25rem; max-width: 46rem; margin-bottom: var(--sc-8); }
.sim__head p { color: var(--sc-ink-soft); max-width: 46ch; }
.sim__left { position: sticky; top: calc(var(--bar-h) + 1.5rem); }
.sim__body { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.seg { display: inline-flex; padding: 4px; gap: 2px; border-radius: var(--r); background: var(--sc-surface); box-shadow: inset 0 0 0 1px var(--line); max-width: 100%; }
.seg button { min-height: 2.75rem; padding: 0 1rem; border: 0; border-radius: 9px; background: transparent; color: var(--sc-ink-soft); font-size: var(--sc-t-sm); font-weight: 500; cursor: pointer; white-space: nowrap; transition: background-color 160ms var(--sc-ease-out), color 160ms var(--sc-ease-out); }
.seg button[aria-checked="true"] { background: var(--sc-ink); color: var(--sc-canvas); }
@media (hover: hover) { .seg button[aria-checked="false"]:hover { color: var(--sc-ink); } }
.seg--mode { display: flex; margin-bottom: 1.5rem; } .seg--mode button { flex: 1; }
.sim__stage { position: relative; height: clamp(18rem, 44vh, 27rem); margin-block: 1.5rem 1rem; display: grid; place-items: center; background: radial-gradient(60% 50% at 50% 62%, #121B22, transparent 72%); }
.sim__obj { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transform: scale(.95) translateY(10px); transition: opacity 240ms var(--sc-ease-out), transform 320ms var(--sc-ease-out); pointer-events: none; }
.sim__obj.is-on { opacity: 1; transform: none; }
.sim__obj img { max-height: 100%; max-width: 92%; width: auto; height: auto; filter: drop-shadow(0 30px 24px rgba(0,0,0,.55)); }
.sim__obj .slab { rotate: -5deg; }
.panel { background: var(--sc-surface); border-radius: var(--r-lg); padding: clamp(1.25rem, 2.4vw, 2rem); box-shadow: inset 0 0 0 1px var(--line), inset 0 1px 0 rgba(255,255,255,.06), 0 30px 60px rgba(0,0,0,.35); }
.fields { display: grid; gap: .35rem; margin-bottom: 1.5rem; }
.field { display: grid; grid-template-columns: 8.5rem 1fr 6.2rem; align-items: center; gap: 1rem; min-height: 3rem; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
input[type="range"] { --pct: 50%; appearance: none; -webkit-appearance: none; width: 100%; height: 2.75rem; background: transparent; cursor: pointer; margin: 0; }
input[type="range"]::-webkit-slider-runnable-track { height: 3px; border-radius: 2px; background: linear-gradient(to right, var(--sc-ink) var(--pct), var(--line-2) var(--pct)); }
input[type="range"]::-moz-range-track { height: 3px; border-radius: 2px; background: linear-gradient(to right, var(--sc-ink) var(--pct), var(--line-2) var(--pct)); }
input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; margin-top: -8.5px; border-radius: 50%; background: var(--sc-ink); border: 0; box-shadow: 0 2px 6px rgba(0,0,0,.5); }
input[type="range"]::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: var(--sc-ink); border: 0; }
.money { display: flex; align-items: center; gap: .3rem; height: 2.75rem; padding-inline: .7rem; border-radius: 10px; background: var(--sc-canvas); box-shadow: inset 0 0 0 1px var(--line); color: var(--sc-ink); }
.money:focus-within { box-shadow: inset 0 0 0 1px var(--sc-accent); }
.money i { font-style: normal; color: var(--sc-ink-soft); }
.money input { width: 100%; min-width: 0; background: none; border: 0; outline: 0; text-align: right; -moz-appearance: textfield; appearance: textfield; }
.money input::-webkit-outer-spin-button, .money input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.call { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.call p { margin-top: .6rem; color: var(--sc-ink); max-width: 44ch; min-height: 3em; }
.call[data-v="buy"], .chip[data-v="buy"] { --v: var(--sc-accent); }
.call[data-v="sell"], .chip[data-v="sell"] { --v: var(--blue); }
.call[data-v="hold"], .chip[data-v="hold"] { --v: var(--silver); }
.call[data-v="pass"], .chip[data-v="pass"] { --v: #7E8A92; }
.panel > .fine { margin-top: 1rem; }
@media (max-width: 960px) { .sim__left { position: static; } .sim__body { grid-template-columns: 1fr; } .sim__stage { height: 16rem; } }
@media (max-width: 520px) { .field { grid-template-columns: 1fr 5.6rem; row-gap: 0; padding-block: .4rem; } .field > span:first-child { grid-column: 1 / -1; } .seg { display: flex; } .seg button { flex: 1; padding: 0 .4rem; } .seg--mode { flex-direction: column; } }

/* =============== LOT 6 · CARDS =============== */
.cards { background: #070B12; }
.cards__grid { display: grid; grid-template-columns: 6fr 6fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.cards__stage { position: relative; min-height: clamp(24rem, 70vh, 38rem); display: grid; place-items: center; perspective: 1100px; }
.cards__glow { position: absolute; inset: 8% 6%; background: radial-gradient(closest-side, rgba(108,180,255,.2), rgba(70,224,138,.07) 55%, transparent); filter: blur(10px); }
#big-slab { --rx: 0deg; --ry: 0deg; position: relative; transform: rotateX(var(--rx)) rotateY(var(--ry)) rotate(-4deg); will-change: transform; }
.cards__copy { display: grid; gap: 1.25rem; }
.cards__copy > p:not(.fine):not(.ladder__note) { color: var(--sc-ink-soft); max-width: 46ch; }
.ladder { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin-top: 1rem; max-width: 30rem; }
.ladder button { display: grid; gap: .2rem; justify-items: start; min-height: 4.5rem; padding: .8rem .9rem; border: 0; border-radius: var(--r); background: var(--sc-surface); box-shadow: inset 0 0 0 1px var(--line); cursor: pointer; text-align: left; transition: box-shadow 160ms var(--sc-ease-out), background-color 160ms var(--sc-ease-out); }
.ladder button b { font-stretch: 120%; font-weight: 800; font-size: 1.3rem; line-height: 1; }
.ladder button span { font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.ladder button[aria-checked="true"] { box-shadow: inset 0 0 0 1.5px var(--sc-ink); background: #121A22; }
.ladder button[aria-checked="true"] span { color: var(--sc-ink); }
.ladder__note { min-height: 1.6em; color: var(--sc-ink); }
@media (max-width: 860px) { .cards__grid { grid-template-columns: 1fr; } .cards__stage { min-height: 27rem; } }

/* =============== LOT 7 · SELL =============== */
.sell { background: #0A0E12; }
.sell__grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(2rem, 4vw, 4.5rem); align-items: start; }
.sell__copy { display: grid; gap: 1.25rem; }
.sell__copy > p { color: var(--sc-ink-soft); max-width: 42ch; }
.plain { list-style: none; margin: 1rem 0 0; padding: 0; }
.plain li { padding: 1rem 0; border-top: 1px solid var(--line); color: var(--sc-ink-soft); max-width: 44ch; }
.plain li b { color: var(--sc-ink); font-weight: 600; }
.composer { background: var(--sc-surface); border-radius: var(--r-lg); padding: clamp(1rem, 2vw, 1.5rem); box-shadow: inset 0 0 0 1px var(--line), inset 0 1px 0 rgba(255,255,255,.06), 0 30px 60px rgba(0,0,0,.35); }
.composer__top { display: grid; grid-template-columns: 2fr 3fr; gap: 1.25rem; }
.composer__photo { border-radius: var(--r); background: linear-gradient(165deg, #E4E9EC, #BFC8CE); display: grid; place-items: center; padding: 1rem; min-height: 13rem; }
.composer__photo img { max-height: 13rem; width: auto; max-width: 100%; filter: drop-shadow(0 14px 12px rgba(20,30,40,.35)); }
.composer__fields { display: grid; gap: .9rem; align-content: start; }
.composer label { display: grid; gap: .4rem; font-size: var(--sc-t-xs); color: var(--sc-ink-soft); letter-spacing: .04em; }
.composer input[type="text"], .composer textarea { width: 100%; background: var(--sc-canvas); border: 0; border-radius: 10px; padding: .8rem .9rem; box-shadow: inset 0 0 0 1px var(--line); font-size: var(--sc-t-sm); line-height: 1.45; letter-spacing: 0; color: var(--sc-ink); resize: vertical; }
.composer input[type="text"]:focus-visible, .composer textarea:focus-visible { outline: 0; box-shadow: inset 0 0 0 1px var(--sc-accent); }
.composer__price { display: grid; grid-template-columns: 1fr 1fr auto; gap: .6rem; margin-block: 1.25rem .9rem; align-items: stretch; }
.composer__price [role="radio"] { display: flex; justify-content: space-between; align-items: center; gap: .75rem; min-height: 3rem; padding: 0 1rem; border: 0; border-radius: var(--r); background: var(--sc-canvas); box-shadow: inset 0 0 0 1px var(--line); font-size: var(--sc-t-sm); color: var(--sc-ink-soft); cursor: pointer; }
.composer__price [role="radio"] b { color: var(--sc-ink); font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.composer__price [role="radio"][aria-checked="true"] { box-shadow: inset 0 0 0 1.5px var(--sc-ink); color: var(--sc-ink); }
.inv { margin-top: var(--sc-8); }
.inv__table { width: 100%; border-collapse: collapse; font-size: var(--sc-t-sm); }
.inv__table caption { text-align: left; font-size: var(--sc-t-xs); color: var(--sc-ink-soft); letter-spacing: .1em; text-transform: uppercase; padding-bottom: .9rem; }
.inv__table th { text-align: left; font-weight: 400; color: var(--sc-ink-soft); }
.inv__table thead th { font-size: var(--sc-t-xs); letter-spacing: .06em; padding-bottom: .6rem; }
.inv__table td, .inv__table th:not(:first-child) { text-align: right; }
.inv__table tbody th { color: var(--sc-ink); }
.inv__table tbody tr > *, .inv__table tfoot tr > * { padding: .85rem 0; border-top: 1px solid var(--line); }
.inv__table tfoot tr > * { border-top-color: var(--line-2); font-weight: 600; color: var(--sc-ink); }
.inv__table .pos { color: var(--sc-accent); } .inv__table .neg { color: var(--silver); }
@media (max-width: 960px) { .sell__grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .composer__top { grid-template-columns: 1fr; } .composer__price { grid-template-columns: 1fr; } .inv__table thead th:nth-child(2), .inv__table tr > :nth-child(2) { display: none; } }

/* =============== LOT 8 · ALERTS =============== */
.alerts { background: var(--sc-canvas); }
.alerts__grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(2rem, 4vw, 4.5rem); align-items: start; }
.alerts__copy { display: grid; gap: 1.25rem; }
.alerts__copy p { color: var(--sc-ink-soft); max-width: 42ch; }
.watch__list { list-style: none; margin: 0 0 1rem; padding: 0; }
.watch__list li { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 1.25rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.watch__list li:last-child { border-bottom: 1px solid var(--line); }
.watch__name { display: grid; gap: .15rem; }
.watch__name span { font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.watch__target { display: flex; align-items: center; gap: .6rem; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.watch__target .money { width: 5.6rem; }
.watch__state { min-width: 5.4rem; text-align: right; font-size: var(--sc-t-xs); letter-spacing: .1em; text-transform: uppercase; color: var(--sc-ink-soft); }
.watch__list li.hit .watch__state { color: var(--sc-accent); }
.toast { display: flex; gap: .9rem; align-items: center; padding: 1rem 1.1rem; margin-bottom: 1rem; border-radius: var(--r); background: #0E1F17; box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--sc-accent) 40%, transparent), 0 20px 40px rgba(0,0,0,.4); animation: toast 360ms var(--sc-ease-out); }
.toast[hidden] { display: none; }
.toast::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--sc-accent); }
@keyframes toast { from { opacity: 0; transform: translateY(8px) scale(.98); } }
@media (max-width: 960px) { .alerts__grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .watch__list li { grid-template-columns: 1fr auto; } .watch__state { grid-column: 1 / -1; text-align: left; min-width: 0; } }

/* =============== LOT 9 · CLOSE =============== */
.close { position: relative; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding-top: var(--bar-h); background: radial-gradient(90% 60% at 70% 100%, #0C2A1C 0%, #08110D 45%, var(--sc-canvas) 78%); }
.close__grid { display: grid; grid-template-columns: 4fr 7fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; flex: 1; padding-block: 1rem; }
.ticket { background: var(--sc-surface); border-radius: var(--r-lg); padding: clamp(1.25rem, 2.2vw, 1.9rem); box-shadow: inset 0 0 0 1px var(--line), inset 0 1px 0 rgba(255,255,255,.06), 0 30px 60px rgba(0,0,0,.4); display: grid; gap: 1rem; }
.ticket__lot { font-size: var(--sc-t-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--sc-ink-soft); }
.verdict--close b { font-size: clamp(3rem, 2rem + 3vw, 4.4rem); }
.close__line { max-width: 11ch; }
.close__sub { margin-top: 1.25rem; font-size: var(--sc-t-lg); color: var(--sc-ink-soft); max-width: 36ch; line-height: 1.4; }
#wl { display: flex; gap: .6rem; margin-top: 1.6rem; max-width: 34rem; }
#wl input { flex: 1; min-width: 0; height: 3.25rem; padding: 0 1rem; border: 0; border-radius: var(--r); background: color-mix(in oklab, var(--sc-canvas) 70%, transparent); box-shadow: inset 0 0 0 1px var(--line-2); font-size: 1rem; }
#wl input::placeholder { color: color-mix(in oklab, var(--sc-ink-soft) 78%, transparent); }
#wl input:focus-visible { outline: 0; box-shadow: inset 0 0 0 1.5px var(--sc-accent); }
#wl .btn { min-height: 3.25rem; }
.close__msg { min-height: 1.6em; margin-top: .8rem; color: var(--sc-ink); }
.close__msg.err { color: #FFB199; }
.close__form .fine { margin-top: .4rem; }
.foot { display: grid; grid-template-columns: auto 1fr; column-gap: 2rem; row-gap: .3rem; align-items: baseline; padding-block: 1.1rem 1.4rem; border-top: 1px solid var(--line); font-size: var(--sc-t-xs); color: var(--sc-ink-soft); }
.foot .mark { grid-row: span 2; padding: 0; }
.foot p { max-width: 80ch; }
@media (max-width: 860px) { .close__grid { grid-template-columns: 1fr; } .close__form { order: -1; } #wl { flex-direction: column; } .foot { grid-template-columns: 1fr; } .foot .mark { grid-row: auto; margin-bottom: .5rem; } }

@media (prefers-reduced-motion: reduce) {
  .pl { transform: none; }
  .hero__chart .line { animation: none; stroke-dashoffset: 0; }
  [data-step], .sim__obj, .toast { transition-duration: 1ms; animation: none; }
  #big-slab { transform: rotate(-4deg); }
}
