/* The reward specimen uses the site's published type and palette tokens. */
.rewards-panel[hidden] { display: none; }
.rewards-panel { margin-block: 0 40px; padding: clamp(24px, 4vw, 48px); background: var(--surface); border: 1px solid var(--hairline); border-top: 3px solid var(--jade); border-radius: 16px; color: var(--ink); }
.rewards-panel h2 { margin: 8px 0 24px; font-size: clamp(32px, 3vw, 48px); }
.rewards-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; }
.rewards-grid > div { min-width: 0; }
.rewards-panel dt { font-size: 13px; line-height: 1.6; color: var(--muted); }
.rewards-panel dd { margin: 8px 0 0; font-size: clamp(16px, 1.5vw, 22px); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.rewards-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 24px; padding-block: 16px; border-block: 1px solid var(--hairline); font: 13px/1.7 var(--mono); }
.rewards-panel details { margin-top: 12px; }
.rewards-panel summary { display: flex; align-items: center; cursor: pointer; font: 13px/1.6 var(--mono); text-decoration: underline; text-underline-offset: 4px; }
.rewards-detail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.rewards-panel .rewards-note { font: 12px/1.8 var(--mono); color: var(--muted); max-width: 100ch; margin-block: 12px 0; }
@media (max-width: 900px) { .rewards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .rewards-grid, .rewards-detail { grid-template-columns: minmax(0, 1fr); gap: 16px; } }
.hero-contract[hidden], #heroDevLocked[hidden] { display: none; }
/* Published contract: full length address as the object, label above, copy beside. Glow breathes in jade. */
.hero-contract:not([hidden]) { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "label label" "code copy"; align-items: stretch; gap: 8px 12px; margin-top: 24px; max-width: 40rem; }
.hero-contract > span { grid-area: label; font: 400 13px/1.6 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
.hero-contract code { grid-area: code; display: block; min-width: 0; padding: 16px 20px; border: 1px solid var(--jade); border-radius: 18px; background: var(--surface); color: var(--ink); font: 400 clamp(0.8rem, 0.68rem + 0.45vw, 1.02rem)/1.5 var(--mono); letter-spacing: .02em; overflow-wrap: anywhere; word-break: break-all; user-select: all; opacity: 0; translate: 0 6px; animation: posy-ca-appear 700ms cubic-bezier(.16,1,.3,1) 120ms forwards, posy-ca-glow 2.8s ease-in-out 900ms infinite; }
.hero-contract button { grid-area: copy; align-self: center; min-height: 48px; padding-inline: 20px; border-color: var(--ink); }
.hero-contract button:hover { background: var(--ink); color: var(--ground); }
@keyframes posy-ca-appear { to { opacity: 1; translate: 0 0; } }
@keyframes posy-ca-glow {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklch, var(--jade) 0%, transparent), 0 10px 28px -16px color-mix(in oklch, var(--jade) 60%, transparent); }
  50% { box-shadow: 0 0 0 4px color-mix(in oklch, var(--jade) 26%, transparent), 0 0 36px color-mix(in oklch, var(--jade) 62%, transparent); }
}
@media (max-width: 560px) { .hero-contract:not([hidden]) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "label" "code" "copy"; } .hero-contract button { justify-self: start; } }
@media (prefers-reduced-motion: reduce) { .hero-contract code { opacity: 1; translate: none; animation: none; box-shadow: 0 0 0 3px color-mix(in oklch, var(--jade) 26%, transparent), 0 0 24px color-mix(in oklch, var(--jade) 45%, transparent); } }
.holder-reading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin-top: 20px; }
.holder-reading output { font: 20px/1.4 var(--mono); color: var(--ink); }
.hero-copy .holder-reading p { flex-basis: 100%; margin: 0; font: 12px/1.7 var(--mono); color: var(--muted); }
