/* REVIVE: premium fintech at night, on the Deep style with the owner's near-black and cyan-blue-violet. */
:root {
  --coin-1: #3d7bff; --coin-2: #8b5cf6; --coin-3: #5ee7f7;
  --ground: oklch(0.155 0.018 262); --ground-2: oklch(0.19 0.026 262); --ground-deep: oklch(0.12 0.014 262);
  --surface-1: oklch(0.2 0.024 262); --surface-2: oklch(0.235 0.026 262); --surface-3: oklch(0.275 0.028 262);
  --inverse: oklch(0.13 0.016 262); --inverse-2: oklch(0.17 0.02 262); --inverse-3: oklch(0.21 0.022 262);
  --ink-1: oklch(0.96 0.006 260); --ink-2: oklch(0.78 0.03 255); --ink-3: oklch(0.7 0.03 255);
  --on-ground-2: oklch(0.8 0.03 255);
  --line: oklch(0.29 0.024 262); --outline: oklch(0.42 0.03 262); --line-inverse: oklch(0.26 0.02 262);
  --accent: oklch(0.8 0.12 225); --accent-side: oklch(0.68 0.12 230); --accent-lift: oklch(0.86 0.11 225);
  --highlight: oklch(0.34 0.1 268);
  --rv-grad: linear-gradient(100deg, #5ee7f7 0%, #3d7bff 50%, #8b5cf6 100%);
  --rv-btn: linear-gradient(100deg, oklch(0.55 0.2 258), oklch(0.5 0.22 288));
  --ground-image: radial-gradient(70% 50% at 15% -10%, oklch(0.3 0.09 262 / 0.45), transparent 70%), radial-gradient(50% 40% at 95% 0%, oklch(0.3 0.1 290 / 0.3), transparent 70%);
  --r-3: 18px; --r-4: 24px;
}
body { background-size: 100% 70rem; }
.rv-page { padding-block: var(--s-6) var(--s-8); }
.rv-grad { color: oklch(0.82 0.11 225); }

/* buttons */
.k-btn--primary { --btn-face: transparent; --btn-ink: oklch(0.98 0.005 260); --btn-edge: transparent; background-image: var(--rv-btn); }
@media (hover: hover) { .k-btn--primary:hover { --btn-face: transparent; filter: brightness(1.12); box-shadow: 0 6px 24px -8px oklch(0.55 0.2 270 / 0.7); } }
.rv-revive { --btn-face: var(--surface-2); --btn-ink: var(--ink-1); border-color: oklch(0.55 0.12 240); }
.rv-revive[data-voted] { background-image: var(--rv-btn); --btn-ink: oklch(0.98 0.005 260); border-color: transparent; }

/* topbar */
.rv-topbar { backdrop-filter: none; }
[data-k-scrolled] .rv-topbar { background: oklch(0.15 0.018 262 / 0.96); }
/* top-left pair: the owner's logo and the X link, one 40px square each, on one centre line */
.rv-brand { --rv-sq: 2.5rem; display: flex; align-items: center; gap: var(--s-2); flex-shrink: 0; }
.rv-brand .rv-mark {
  display: block; width: var(--rv-sq); height: var(--rv-sq); border-radius: var(--r-2); flex: none;
  overflow: hidden; background: oklch(0.12 0.01 262); box-shadow: inset 0 0 0 1px var(--line);
}
.rv-brand__logo { display: block; object-fit: cover; border-radius: var(--r-2); }
/* the logo's mark sits small in its black square: scale it so it spans about as much of the tile as the X glyph */
.rv-brand .rv-brand__logo { width: var(--rv-sq); height: var(--rv-sq); border-radius: 0; transform: scale(1.22); }
.rv-footmark .rv-brand__logo { width: 2.5rem; height: 2.5rem; }
.rv-footmark span { letter-spacing: 0.08em; }
.rv-topbar .rv-x {
  --btn-h: var(--rv-sq); width: var(--rv-sq); height: var(--rv-sq); min-height: var(--rv-sq); flex: none;
  padding: 0; border-radius: var(--r-2); color: var(--ink-1);
  background: oklch(0.12 0.01 262); border: 0; box-shadow: inset 0 0 0 1px var(--line);
}
.rv-topbar .rv-x svg { width: 1.75rem; height: 1.75rem; display: block; }
@media (hover: hover) {
  .rv-topbar .rv-x:hover, .rv-brand .rv-mark:hover { box-shadow: inset 0 0 0 1px oklch(0.6 0.13 240); }
  .rv-topbar .rv-x:hover { color: var(--coin-3); }
}
.rv-brand a:focus-visible { outline: var(--focus-w) solid var(--focus); outline-offset: var(--focus-offset); }

/* hero */
.rv-hero { position: relative; padding-block: var(--s-6) var(--s-5); overflow: hidden; }
.rv-hero__trace { position: absolute; inset: auto 0 -1.5rem 0; width: 100%; height: 7rem; opacity: 0.35; pointer-events: none; }
.rv-hero__trace path { fill: none; stroke: url(#none); stroke: oklch(0.7 0.13 240); stroke-width: 1.5; stroke-dasharray: 2200; stroke-dashoffset: 2200; animation: rv-draw 1.6s var(--ease-out) forwards; }
@keyframes rv-draw { to { stroke-dashoffset: 0; } }
.rv-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--s-6); align-items: end; }
.rv-hero__title { font-size: clamp(2.1rem, 1.2rem + 3vw, 4.4rem); line-height: 0.98; letter-spacing: 0.005em; font-weight: 700; }
.rv-hero__lede { font-size: var(--t-lg); color: var(--ink-1); }
.rv-hero__tag { margin-top: var(--s-2); font-family: var(--font-display); font-weight: 600; letter-spacing: 0.05em; color: var(--ink-2); font-size: var(--t-md); }
@media (max-width: 860px) { .rv-hero__trace { display: none; } }
.rv-hero__cta { margin-top: var(--s-4); }
@media (max-width: 860px) { .rv-hero__grid { grid-template-columns: 1fr; gap: var(--s-4); } .rv-hero { padding-block: var(--s-5) var(--s-4); } .rv-hero__cta .k-btn { flex: 1; --btn-h: var(--control-h); font-size: var(--t-md); } }

/* board */
.rv-board { padding-block: var(--s-4) var(--s-7); }
.rv-board__head, .rv-lb__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--s-4); margin-bottom: var(--s-5); }
.rv-board__title { font-size: var(--t-h2); letter-spacing: 0.04em; }
.rv-board__sub { color: var(--ink-2); margin-top: var(--s-1); }
.rv-board__clock, .rv-lb__clock { display: grid; justify-items: end; gap: var(--s-1); }
.rv-lb__clock { justify-items: start; margin-bottom: var(--s-4); }
.rv-board__clocklabel { font-size: var(--t-sm); color: var(--ink-2); font-weight: 680; }
.rv-countdown { font-size: 1.75rem; }
.rv-board__meta { font-size: var(--t-sm); color: var(--ink-2); text-align: right; }
.rv-board__foot { margin-top: var(--s-4); font-size: var(--t-sm); color: var(--ink-2); display: flex; flex-wrap: wrap; gap: var(--s-3); }
@media (max-width: 700px) { .rv-board__clock { justify-items: start; } .rv-board__meta { text-align: left; } }

.rv-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4); align-items: end; }
.rv-podium > [data-rank="1"] { order: 2; } .rv-podium > [data-rank="2"] { order: 1; } .rv-podium > [data-rank="3"] { order: 3; }
.rv-rest { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-3); margin-top: var(--s-3); align-items: start; }
@media (max-width: 1100px) { .rv-rest { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .rv-podium { grid-template-columns: 1fr; } .rv-podium > * { order: 0 !important; } .rv-rest { grid-template-columns: 1fr; } }

/* the card */
.rv-card { position: relative; display: flex; flex-direction: column; gap: var(--s-3); min-width: 0; padding: var(--s-4); border-radius: var(--r-3); background: linear-gradient(180deg, var(--surface-2), var(--surface-1)); border: 1px solid var(--line); color: var(--ink-1); transition: transform var(--d-3) var(--ease-out), box-shadow var(--d-3) var(--ease-out); animation: rv-in 0.6s var(--ease-out) both; animation-delay: calc(var(--i, 1) * 50ms); overflow: hidden; }
@keyframes rv-in { from { opacity: 0; transform: translateY(10px); } }
@media (hover: hover) { .rv-card:not(.rv-slot):hover { transform: translateY(-3px); box-shadow: 0 18px 40px -20px oklch(0.4 0.15 265 / 0.6); } }
.rv-card--lg { padding: var(--s-5); }
.rv-card--lg[data-rank="1"] { min-height: 100%; }
.rv-card--lg:not(.rv-slot) { border: 1px solid transparent; background: linear-gradient(180deg, var(--surface-2), var(--surface-1)) padding-box, var(--rv-grad) border-box; }
.rv-card--lg[data-rank="1"]:not(.rv-slot) { box-shadow: 0 0 48px -18px oklch(0.6 0.18 255 / 0.55); }
.rv-card__sheen { position: absolute; inset: 0; background: radial-gradient(60% 40% at 50% 0%, oklch(0.6 0.15 255 / 0.12), transparent 70%); pointer-events: none; }
.rv-card__top { display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); position: relative; }
.rv-rank { font-family: var(--font-display); font-weight: 700; font-size: var(--t-xl); line-height: 1; }
.rv-card--lg .rv-rank { font-size: 2.25rem; }
.rv-rank[data-rank="1"], .rv-rank[data-rank="2"], .rv-rank[data-rank="3"] { color: oklch(0.84 0.11 225); }
.rv-rank--ghost { color: var(--ink-3); }
.rv-kind { display: inline-flex; align-items: center; min-height: 1.5rem; padding: 0 0.55rem; border-radius: var(--r-1); font-size: var(--t-xs); font-weight: 800; letter-spacing: 0.08em; border: 1px solid; }
.rv-kind[data-kind="dead"] { color: oklch(0.82 0.1 20); border-color: oklch(0.5 0.1 20); background: oklch(0.25 0.05 20); }
.rv-kind[data-kind="stagnant"] { color: oklch(0.86 0.1 85); border-color: oklch(0.52 0.08 85); background: oklch(0.25 0.04 85); }
.rv-card__id { display: flex; align-items: center; gap: var(--s-3); min-width: 0; text-decoration: none; color: inherit; position: relative; }
.rv-card--lg .rv-card__id { flex-direction: column; align-items: flex-start; }
.rv-card__names { display: grid; min-width: 0; }
.rv-card__name { font-weight: 700; font-size: var(--t-lg); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-card--lg .rv-card__name { font-family: var(--font-display); font-size: var(--t-2xl); }
.rv-card__sym { color: var(--ink-2); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-card__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2) var(--s-3); }
.rv-card__stats dt { font-size: var(--t-xs); color: var(--ink-2); font-weight: 600; }
.rv-card__stats dd { font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; min-width: 0; }
.rv-card__actions { display: flex; gap: var(--s-2); margin-top: auto; }
.rv-card__actions .k-btn { flex: 1; padding-inline: var(--s-2); }

/* logos: the real token art */
.rv-logo { position: relative; display: inline-grid; place-items: center; flex: none; width: 2.5rem; height: 2.5rem; border-radius: 50%; overflow: hidden; background: var(--surface-3); border: 1px solid var(--line); }
.rv-logo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rv-logo__letter { font-family: var(--font-display); font-weight: 700; color: var(--ink-2); }
.rv-logo--sm { width: 2rem; height: 2rem; } .rv-logo--md { width: 2.75rem; height: 2.75rem; }
.rv-logo--lg { width: 3.5rem; height: 3.5rem; } .rv-logo--xl { width: 5rem; height: 5rem; box-shadow: 0 0 0 4px oklch(0.25 0.04 262), 0 0 30px -6px oklch(0.6 0.16 255 / 0.6); }
.rv-logo--hero { width: 7rem; height: 7rem; box-shadow: 0 0 0 5px oklch(0.24 0.04 262), 0 0 40px -6px oklch(0.6 0.16 255 / 0.6); }
.rv-logo--xl .rv-logo__letter, .rv-logo--hero .rv-logo__letter { font-size: 2rem; }

/* the trace */
.rv-trace { position: relative; height: 4.5rem; border-radius: var(--r-2); background: linear-gradient(180deg, oklch(0.14 0.02 262), oklch(0.17 0.02 262)); border: 1px solid var(--line); overflow: hidden; }
.rv-card--lg .rv-trace { height: 5.5rem; }
.rv-marketpanel .rv-trace { height: 8rem; margin-top: var(--s-4); }
.rv-trace svg { width: 100%; height: 100%; }
.rv-trace__line { fill: none; stroke: oklch(0.78 0.12 225); stroke-width: 1.6; stroke-linejoin: round; }
.rv-trace__area { fill: oklch(0.6 0.15 255 / 0.12); stroke: none; }
.rv-trace__ath { stroke: oklch(0.65 0.04 260); stroke-width: 1; stroke-dasharray: 4 4; fill: none; }
.rv-trace__flat { stroke: var(--ink-3); stroke-width: 1.2; stroke-dasharray: 2 5; fill: none; }
.rv-trace__pulse { fill: none; stroke: #5ee7f7; stroke-width: 3; stroke-dasharray: 0 100; opacity: 0; }
.rv-trace.is-pulsing .rv-trace__pulse { animation: rv-pulse 1.1s var(--ease-out); }
@keyframes rv-pulse { 0% { stroke-dasharray: 10 100; stroke-dashoffset: 10; opacity: 1; } 100% { stroke-dasharray: 10 100; stroke-dashoffset: -92; opacity: 1; } }
.rv-trace__dot { position: absolute; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: #5ee7f7; box-shadow: 0 0 10px #5ee7f7; }
.rv-trace__athlabel { position: absolute; left: 6px; top: 2px; font-size: 10px; font-weight: 700; color: var(--ink-3); letter-spacing: 0.08em; }
.rv-trace__dd { position: absolute; right: 6px; bottom: 4px; font-size: var(--t-xs); font-weight: 700; color: var(--ink-1); background: oklch(0.14 0.02 262 / 0.85); padding: 1px 6px; border-radius: 4px; }
.rv-trace__note { position: absolute; inset: auto 0 6px 0; text-align: center; font-size: var(--t-xs); color: var(--ink-2); }

/* open slots */
.rv-slot { background: transparent; border: 1px dashed var(--outline); animation-name: rv-in; }
.rv-slot__tag { font-size: var(--t-xs); color: var(--ink-3); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.rv-slot__body { display: grid; gap: var(--s-2); justify-items: start; margin-top: auto; }
.rv-card--lg.rv-slot { min-height: 18rem; }
.rv-card--sm.rv-slot { min-height: 10rem; }
.rv-slot__flat { width: 100%; height: 2.5rem; }
.rv-slot__flat path { fill: none; stroke: var(--ink-3); stroke-width: 1.2; opacity: 0.7; }
.rv-slot__title { font-family: var(--font-display); font-weight: 600; font-size: var(--t-lg); color: var(--ink-2); }
.rv-slot--live { border-color: oklch(0.5 0.08 240); background: radial-gradient(80% 60% at 50% 30%, oklch(0.25 0.06 255 / 0.5), transparent 70%); justify-content: flex-end; }
.rv-slot--live[data-rank="1"] { border-style: solid; border-color: transparent; background: radial-gradient(80% 60% at 50% 30%, oklch(0.27 0.07 255 / 0.6), transparent 70%) padding-box, linear-gradient(var(--ground), var(--ground)) padding-box, var(--rv-grad) border-box; }
.rv-slot__ecg { width: 100%; height: 4rem; margin-top: auto; }
.rv-slot__ecg path { fill: none; stroke: oklch(0.6 0.08 240); stroke-width: 1.6; }
.rv-slot--live[data-rank="1"] .rv-slot__ecg path { stroke: #5ee7f7; stroke-width: 2; stroke-dasharray: 100 0; animation: rv-beat 2.4s var(--ease-out) infinite; }
@keyframes rv-beat { 0% { stroke-dasharray: 0 100; } 60%, 100% { stroke-dasharray: 100 0; } }
.rv-slot--live .rv-slot__title { color: var(--ink-1); font-size: var(--t-xl); }
.rv-slot__hint { color: var(--ink-2); font-size: var(--t-sm); }
.rv-slot__form { display: flex; gap: var(--s-2); margin-top: var(--s-2); }
.rv-slot__form .k-input { font-family: var(--font-mono); font-size: var(--t-sm); min-width: 0; }
.rv-slot--mini { min-height: 0 !important; flex-direction: row; align-items: center; justify-content: space-between; padding: var(--s-3) var(--s-4); }
.rv-slot--mini .rv-rank { font-size: var(--t-lg); }
.rv-slot--mini .rv-slot__cta { font-size: var(--t-sm); }
@media (max-width: 760px) { .rv-rest { grid-template-columns: 1fr 1fr; } .rv-rest > :not(.rv-slot--mini) { grid-column: 1 / -1; } .rv-slot--mini { flex-direction: column; align-items: flex-start; gap: var(--s-1); padding: var(--s-3); } }
.rv-board__disc { margin-top: var(--s-2); font-size: var(--t-sm); color: var(--ink-2); max-width: 62ch; }
.rv-rulecard { background: var(--inverse); }
.rv-rulecard__title { font-family: var(--font-display); font-weight: 600; font-size: var(--t-lg); }
.rv-rulecard p:not(.rv-rulecard__title) { color: var(--ink-2); font-size: var(--t-sm); }
.rv-card--skel { min-height: 14rem; } .rv-skel-logo { width: 3.5rem; height: 3.5rem; }
@media (max-width: 760px) { .rv-card--lg.rv-slot, .rv-card--sm.rv-slot { min-height: 0; } .rv-slot__flat { height: 1.5rem; } }

/* sections */
.rv-section-title { font-size: var(--t-xl); margin-bottom: var(--s-4); letter-spacing: 0.02em; }
.rv-loop { padding-block: var(--s-7); border-top: 1px solid var(--line); }
.rv-loop__trace { width: 100%; height: 3rem; margin-bottom: var(--s-3); }
.rv-loop__trace path { fill: none; stroke: oklch(0.7 0.12 240); stroke-width: 1.5; }
.rv-loop__beats { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s-4); }
.rv-loop__beats h3 { font-size: var(--t-md); letter-spacing: 0.08em; margin: var(--s-2) 0 var(--s-1); }
.rv-loop__beats p { color: var(--ink-2); font-size: var(--t-sm); }
.rv-loop__n { display: inline-grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--rv-btn); color: oklch(0.98 0 0); font-weight: 800; font-size: var(--t-sm); }
@media (max-width: 900px) { .rv-loop__beats { grid-template-columns: 1fr; } .rv-loop__trace { display: none; } }
.rv-duo { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--s-4); padding-bottom: var(--s-7); }
@media (max-width: 900px) { .rv-duo { grid-template-columns: 1fr; } }
.rv-latest .k-list__item { grid-template-columns: auto minmax(0, 1fr) auto; }
.rv-latest__name { display: grid; min-width: 0; text-decoration: none; color: inherit; }
.rv-latest__n { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-latest .k-list__meta { display: grid; justify-items: end; gap: 2px; }
.rv-latest__empty { display: grid; gap: var(--s-2); justify-items: start; padding: var(--s-3) 0; }
.rv-rules__list { display: grid; gap: var(--s-3); padding-left: 1.1rem; margin: var(--s-3) 0 var(--s-4); color: var(--ink-2); }
.rv-rules__list strong { color: var(--ink-1); }
.rv-rules__list li:first-child span { margin: 0 0.35em; }
.rv-coinband { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--s-6); padding-block: var(--s-6) var(--s-7); border-top: 1px solid var(--line); }
@media (max-width: 800px) { .rv-coinband { grid-template-columns: 1fr; gap: var(--s-4); } }
.rv-coinband__label { font-size: var(--t-sm); color: var(--ink-2); font-weight: 680; margin-bottom: var(--s-2); }
.rv-split__bar { display: flex; height: 0.75rem; border-radius: 999px; overflow: hidden; gap: 2px; margin-bottom: var(--s-3); }
.rv-split__bar span { background: var(--rv-btn); }
.rv-split__bar span[data-to="blueprint"] { background: oklch(0.6 0.04 255); }
.rv-split { display: grid; gap: var(--s-2); }
.rv-split__row { display: flex; gap: var(--s-3); align-items: baseline; }
.rv-split__pct { font-family: var(--font-display); font-weight: 700; font-size: var(--t-lg); min-width: 3.5rem; font-variant-numeric: tabular-nums; }
.rv-sheet__h { font-size: var(--t-md); margin: var(--s-5) 0 var(--s-2); }
.rv-sheet__price { display: flex; align-items: center; gap: var(--s-3); font-size: var(--t-2xl); }
.rv-spark { width: 100%; height: 3.5rem; margin: var(--s-3) 0; } .rv-spark path { fill: none; stroke: oklch(0.78 0.12 225); stroke-width: 1.5; }
.rv-sheet__ca { display: flex; justify-content: space-between; align-items: center; margin: var(--s-3) 0; }

/* page heads */
.rv-pagehead { margin-bottom: var(--s-5); }
.rv-pagehead__title { font-size: var(--t-h1); letter-spacing: 0.02em; }
.rv-pagehead__sub { color: var(--ink-2); margin-top: var(--s-2); max-width: 60ch; }
.rv-lb__controls { display: flex; align-items: center; gap: var(--s-3); flex-wrap: wrap; }
.rv-daypick { min-width: 12rem; }
.rv-lb__more, .rv-lb__archive { margin-top: var(--s-7); }
.rv-archive { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: var(--s-2); margin-top: var(--s-3); }
.rv-archive__day { display: grid; padding: var(--s-3); border-radius: var(--r-2); background: var(--surface-1); border: 1px solid var(--line); text-decoration: none; }
.rv-archive__day[aria-current] { border-color: var(--accent); }
.rv-archive__date { font-weight: 700; }
.rv-lb__none { margin-bottom: var(--s-4); }

/* explore */
.rv-explore__bar { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; margin-bottom: var(--s-2); }
.rv-explore__search { flex: 1 1 18rem; }
.rv-filters { display: flex; flex-wrap: wrap; gap: 4px; padding: 3px; border: 1px solid var(--outline); border-radius: 13px; background: var(--surface-1); }
.rv-filter { min-height: 2.25rem; padding: 0 var(--s-3); border-radius: var(--r-2); font-size: var(--t-sm); font-weight: 700; color: var(--ink-2); letter-spacing: 0.04em; }
.rv-filter[aria-pressed="true"] { background: var(--rv-btn); color: oklch(0.98 0 0); }
.rv-sortpick { min-width: 13rem; } .rv-sortpick__label { color: var(--ink-2); font-weight: 500; }
.rv-explore__age { font-size: var(--t-sm); margin-bottom: var(--s-3); min-height: 1.4em; }
.rv-who { text-decoration: none; color: inherit; max-width: 22rem; }
.rv-alum { display: inline-flex; align-items: center; padding: 1px 6px; border-radius: 5px; font-size: var(--t-xs); font-weight: 800; background: var(--rv-btn); color: oklch(0.98 0 0); white-space: nowrap; }
.rv-alum--lg { font-size: var(--t-sm); padding: 2px 8px; margin-right: var(--s-2); }
.rv-alum--rev { background: oklch(0.45 0.12 160); }
.rv-mcards { list-style: none; padding: 0; display: grid; gap: var(--s-2); }
.rv-mcard { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--s-2) var(--s-3); align-items: center; padding: var(--s-3); border-radius: var(--r-3); background: var(--surface-1); border: 1px solid var(--line); text-decoration: none; color: inherit; }
.rv-mcard__id { display: grid; min-width: 0; }
.rv-mcard__name { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-mcard__sub { display: flex; gap: var(--s-2); align-items: center; flex-wrap: wrap; }
.rv-mcard__votes { display: grid; justify-items: end; font-size: var(--t-xs); } .rv-mcard__vn { font-family: var(--font-display); font-weight: 700; font-size: var(--t-lg); }
.rv-mcard__stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-2); }
.rv-mcard__stats dt { font-size: 0.6875rem; color: var(--ink-2); } .rv-mcard__stats dd { font-weight: 700; font-size: var(--t-sm); overflow-wrap: anywhere; }
.rv-more { display: flex; justify-content: center; margin-top: var(--s-4); }
.rv-skelrows { display: grid; gap: var(--s-2); padding: var(--s-4); }
.rv-bigempty { padding: var(--s-8) var(--s-4); }

/* profile */
.rv-ident { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--s-5); align-items: center; margin-bottom: var(--s-6); }
.rv-ident__tags { display: flex; gap: var(--s-2); flex-wrap: wrap; }
.rv-ident__name { font-size: var(--t-h1); overflow-wrap: anywhere; margin-top: var(--s-2); }
.rv-ident__sym { color: var(--ink-2); font-weight: 700; font-size: var(--t-lg); overflow-wrap: anywhere; }
.rv-ident__addr { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; margin-top: var(--s-3); font-size: var(--t-sm); }
.rv-vote { display: grid; gap: var(--s-2); justify-items: stretch; min-width: 15rem; padding: var(--s-4); border-radius: var(--r-3); background: var(--inverse); border: 1px solid var(--line); }
.rv-vote__count { display: flex; align-items: baseline; gap: var(--s-2); }
.rv-vote__n { font-family: var(--font-display); font-weight: 700; font-size: 2.5rem; line-height: 1; }
.rv-vote__note { font-size: var(--t-sm); max-width: 18rem; }
.rv-vote__ok { color: var(--good-ink); font-weight: 600; }
@media (max-width: 900px) { .rv-ident { grid-template-columns: auto minmax(0, 1fr); } .rv-vote { grid-column: 1 / -1; } .rv-logo--hero { width: 5rem; height: 5rem; } }
.rv-profile__grid { display: grid; grid-template-columns: minmax(0, 1fr) 22rem; gap: var(--s-4); align-items: start; }
.rv-profile__main, .rv-profile__side { display: grid; gap: var(--s-4); min-width: 0; }
.rv-profile__side { position: sticky; top: calc(var(--topbar-h) + var(--s-3)); }
@media (max-width: 1023px) { .rv-profile__grid { grid-template-columns: 1fr; } .rv-profile__side { position: static; } }
.rv-profile__skel { display: flex; gap: var(--s-4); align-items: center; margin-bottom: var(--s-5); }
.rv-mstats { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: var(--s-4); }
.rv-mstats dt { font-size: var(--t-sm); color: var(--ink-2); }
.rv-mstats dd { font-family: var(--font-display); font-weight: 600; font-size: var(--t-xl); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.rv-mstats dd small { display: block; font-family: var(--font-text); font-size: var(--t-xs); color: var(--ink-2); font-weight: 500; }
.rv-age { font-size: var(--t-sm); }
.rv-chart__frame { position: relative; height: 26rem; border-top: 1px solid var(--line); }
.rv-chart__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rv-chart__none { padding: var(--s-4); }
.rv-story__text { white-space: pre-line; overflow-wrap: anywhere; margin-top: var(--s-3); max-width: 70ch; }
.rv-story__by { font-size: var(--t-sm); margin-top: var(--s-3); }
.rv-result__lead { margin-top: var(--s-3); }
.rv-result__clock { margin-top: var(--s-2); font-weight: 700; }
.rv-links__list { list-style: none; padding: 0; display: grid; margin: var(--s-3) 0; }
.rv-links__a { display: flex; justify-content: space-between; padding: var(--s-2) 0; border-bottom: 1px solid var(--line); text-decoration: none; font-weight: 600; }
.rv-links__ca { display: grid; gap: var(--s-1); font-size: var(--t-sm); }
.rv-copy-full { white-space: normal; overflow-wrap: anywhere; text-align: left; font-size: var(--t-xs); padding-block: var(--s-2); }
.rv-snap__t { width: 100%; border-collapse: collapse; margin-top: var(--s-3); font-size: var(--t-sm); font-variant-numeric: tabular-nums; }
.rv-snap__t th, .rv-snap__t td { padding: var(--s-2) var(--s-1); border-bottom: 1px solid var(--line); text-align: right; }
.rv-snap__t th:first-child { text-align: left; color: var(--ink-2); font-weight: 600; }
.rv-snap__t thead th { color: var(--ink-2); font-weight: 600; }
.rv-snap__note { font-size: var(--t-xs); margin-top: var(--s-2); }
.rv-cgate { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); padding: var(--s-3); border-radius: var(--r-2); background: var(--surface-2); }
.rv-cform { display: grid; gap: var(--s-2); justify-items: start; } .rv-cform .k-field { width: 100%; }
.rv-clist { list-style: none; padding: 0; display: grid; margin-top: var(--s-4); }
.rv-c { display: flex; gap: var(--s-3); padding: var(--s-3) 0; border-bottom: 1px solid var(--line); }
.rv-c[data-hidden] { opacity: 0.5; }
.rv-c__body { flex: 1; min-width: 0; }
.rv-c__meta { display: flex; gap: var(--s-2); font-size: var(--t-sm); color: var(--ink-2); flex-wrap: wrap; }
.rv-c__who { font-family: var(--font-mono); color: var(--ink-1); }
.rv-c__text { overflow-wrap: anywhere; white-space: pre-line; }
.rv-actionbar { justify-content: space-between; }

/* submit */
.rv-submit__grid { display: grid; grid-template-columns: minmax(0, 1fr) 22rem; gap: var(--s-4); align-items: start; }
@media (max-width: 1023px) { .rv-submit__grid { grid-template-columns: 1fr; } }
.rv-submit__main { display: grid; gap: var(--s-4); min-width: 0; }
.rv-checkrow { display: flex; gap: var(--s-2); }
.rv-addr-input { font-family: var(--font-mono); }
@media (max-width: 600px) { .rv-checkrow { flex-direction: column; } }
.rv-checking { display: grid; gap: var(--s-1); }
.rv-checking__trace { width: 100%; height: 2.5rem; }
.rv-checking__trace path { fill: none; stroke: #5ee7f7; stroke-width: 2; stroke-dasharray: 30 100; animation: rv-scan 1.2s linear infinite; }
@keyframes rv-scan { from { stroke-dashoffset: 130; } to { stroke-dashoffset: 0; } }
.rv-checking__t, .rv-verdict__t { font-family: var(--font-display); font-weight: 700; font-size: var(--t-xl); letter-spacing: 0.04em; }
.rv-verdict { display: grid; gap: var(--s-3); }
.rv-verdict[data-tone="eligible"] { border-color: oklch(0.6 0.12 160); } .rv-verdict[data-tone="eligible"] .rv-verdict__t { color: var(--good-ink); }
.rv-verdict[data-tone="ineligible"] .rv-verdict__t, .rv-verdict[data-tone="error"] .rv-verdict__t { color: var(--warn-ink); }
.rv-verdict[data-tone="listed"] .rv-verdict__t { color: var(--accent); }
.rv-verdict__row { display: flex; align-items: center; gap: var(--s-3); min-width: 0; overflow-wrap: anywhere; }
.rv-verdict .k-btn { justify-self: start; }
.rv-tok { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-3); align-items: center; padding-top: var(--s-3); border-top: 1px solid var(--line); }
.rv-tok__name { font-weight: 700; overflow-wrap: anywhere; }
.rv-tok__stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); gap: var(--s-3); }
.rv-tok__stats dt { font-size: var(--t-xs); color: var(--ink-2); } .rv-tok__stats dd { font-weight: 700; overflow-wrap: anywhere; }
.rv-tok__stats [data-pass="true"] dt::after { content: " \2713"; color: var(--good-ink); font-weight: 800; }
.rv-tok__src { grid-column: 1 / -1; font-size: var(--t-xs); }
.rv-subform { display: grid; gap: var(--s-4); }
.rv-kindset { border: 0; padding: 0; }
.rv-kinds { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-2); }
@media (max-width: 600px) { .rv-kinds { grid-template-columns: 1fr; } }
.rv-kinds input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rv-kinds label { display: grid; gap: 2px; padding: var(--s-3); border-radius: var(--r-2); border: 1px solid var(--outline); background: var(--surface-2); cursor: pointer; }
.rv-kinds label span { font-size: var(--t-sm); color: var(--ink-2); }
.rv-kinds input:checked + label { border-color: transparent; background: linear-gradient(var(--surface-3), var(--surface-3)) padding-box, var(--rv-grad) border-box; border: 1px solid transparent; }
.rv-kinds input:focus-visible + label { outline: 2px solid var(--accent); outline-offset: 2px; }
.rv-linkfields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); }
@media (max-width: 800px) { .rv-linkfields { grid-template-columns: 1fr; } }
.rv-subform__foot { display: grid; gap: var(--s-2); justify-items: start; }
.rv-req { display: grid; gap: var(--s-2); padding-left: 1.2rem; margin: var(--s-3) 0; color: var(--ink-2); }
.rv-req strong { color: var(--ink-1); }
.rv-req__h { font-size: var(--t-md); margin: var(--s-4) 0 var(--s-1); }
.rv-submit__side .k-muted { font-size: var(--t-sm); }

/* revived */
.rv-unwritten { position: relative; display: grid; justify-items: center; text-align: center; gap: var(--s-3); padding: var(--s-8) var(--s-4) var(--s-7); }
.rv-unwritten__trace { position: absolute; inset: 30% 0 auto; width: 100%; height: 5rem; opacity: 0.4; }
.rv-unwritten__trace path { stroke: var(--ink-3); stroke-dasharray: 3 6; fill: none; }
.rv-unwritten__title { position: relative; font-size: var(--t-h2); max-width: 22ch; }
.rv-unwritten__text { position: relative; color: var(--ink-2); font-size: var(--t-lg); }
.rv-casefile { max-width: 52rem; margin: 0 auto; padding: var(--s-5); border: 1px dashed var(--outline); border-radius: var(--r-3); }
.rv-casefile__h { font-size: var(--t-lg); margin-bottom: var(--s-3); }
.rv-casefile__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: var(--s-3); padding-left: 1.2rem; }
.rv-casefile__fields li { display: grid; } .rv-casefile__fields span { color: var(--ink-2); font-size: var(--t-sm); }
.rv-cases { display: grid; gap: var(--s-4); }
.rv-case__head { display: flex; gap: var(--s-3); align-items: center; }
.rv-case__name { font-weight: 700; font-size: var(--t-lg); overflow-wrap: anywhere; }
.rv-case__title { font-size: var(--t-xl); margin-top: var(--s-3); }

/* admin */
.rv-admin__panel { margin-top: var(--s-4); display: grid; gap: var(--s-4); }
.rv-adform { display: grid; gap: var(--s-3); max-width: 44rem; }

/* footer */
.rv-footer { background: var(--inverse); border-top: 1px solid var(--line); margin-top: auto; }
.rv-footer { padding-top: var(--s-5); }
.rv-disclaimer-band { max-width: 62ch; text-align: center; font-weight: 600; color: var(--ink-1); padding-bottom: var(--s-5); margin-bottom: var(--s-6); border-bottom: 1px solid var(--line); text-wrap: balance; }
.rv-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: var(--s-5); }
@media (max-width: 860px) { .rv-footer__grid { grid-template-columns: 1fr; } }
.rv-disclaimer { margin-top: var(--s-3); color: var(--ink-2); font-size: var(--t-sm); max-width: 44ch; }
.rv-footer__nav { display: grid; gap: var(--s-2); align-content: start; }
.rv-footer__nav a { text-decoration: none; color: var(--ink-2); font-weight: 600; }
.rv-footer__nav a:hover { color: var(--ink-1); }
.rv-footer__meta { color: var(--ink-2); font-size: var(--t-sm); display: grid; gap: var(--s-3); align-content: start; }
.rv-error { margin-block: var(--s-4); }

@media (prefers-reduced-motion: reduce) { .rv-hero__trace path { stroke-dashoffset: 0; } }
