/* coins.css — the coins page (coins.html at /coins): $ARCIRCLE and ARCL, what each does in ARCIRCLE WORLD and the live
   numbers. Sits on gw.css (the game site's tokens, top bar, buttons, footer); this adds the page's own sections and its
   charts. Dark only, like the game site. Chart colours are the validated categorical slots for this surface
   (dataviz: #3987e5 · #d95926 · #199e70 on #0d1b3e — all checks pass). */
.cn { --surf: #0d1b3e; --s1: #3987e5; --s2: #d95926; --s3: #199e70; --grid: rgba(170, 200, 240, .14); --txt2: #c3d2ea; --txt3: #8ea3c4; }
.cn main { display: block; padding-top: var(--navh); }
.cn .gw-links a.on { color: var(--cy); }
.cn-wrap { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
.cn-sec { padding: 56px 0; }
.cn-sec + .cn-sec { border-top: 1px solid var(--line); }
.cn-kick { margin: 0 0 8px; font: 800 12px/1 var(--ui); letter-spacing: 2.4px; text-transform: uppercase; color: var(--cy); }
.cn h2 { margin: 0 0 10px; font: 900 italic clamp(28px, 4.4vw, 42px)/1.08 var(--disp); letter-spacing: .3px; }
.cn h3 { margin: 0 0 8px; font: 800 18px/1.3 var(--ui); }
.cn-lead { margin: 0 0 26px; max-width: 760px; color: var(--txt2); font-size: 16px; }
.cn-note { margin: 14px 0 0; color: var(--txt3); font-size: 13px; }

/* ---------- the top ---------- */
.cn-hero { position: relative; padding: 70px 0 46px; overflow: hidden; text-align: center; background: radial-gradient(60% 70% at 30% 20%, rgba(56, 120, 255, .28), transparent 70%), radial-gradient(50% 60% at 75% 30%, rgba(46, 224, 176, .2), transparent 70%); }
.cn-hero h1 { margin: 6px 0 14px; font: 900 italic clamp(40px, 7.4vw, 76px)/1 var(--disp); letter-spacing: .5px; background: linear-gradient(90deg, #8fd0ff, var(--cy) 40%, var(--mint)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cn-hero p { margin: 0 auto; max-width: 680px; color: var(--txt2); font-size: 17px; }
.cn-coins { display: flex; justify-content: center; align-items: center; gap: clamp(18px, 6vw, 60px); margin: 0 0 18px; }
.cn-coins img { width: clamp(110px, 22vw, 190px); height: auto; filter: drop-shadow(0 0 26px rgba(56, 216, 255, .55)); animation: cn-float 5s ease-in-out infinite; }
.cn-coins img + img { animation-delay: -2.5s; }
.cn-coins i { font: 900 italic 34px/1 var(--disp); color: var(--mute); }
@keyframes cn-float { 50% { transform: translateY(-10px); } }
.cn-jump { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }

/* ---------- the two coins ---------- */
.cn-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.cn-card { position: relative; padding: 24px; border-radius: var(--r); background: var(--glass); box-shadow: 0 0 0 1.5px var(--line) inset, 0 18px 40px rgba(0, 0, 0, .3); }
.cn-card header { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.cn-card header img { width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 0 12px rgba(56, 216, 255, .5)); }
.cn-card header b { display: block; font: 900 italic 28px/1 var(--disp); }
.cn-tag { display: inline-block; margin-top: 6px; padding: 4px 9px; border-radius: 8px; font: 800 11px/1 var(--ui); letter-spacing: 1px; background: rgba(56, 216, 255, .14); color: var(--cy); box-shadow: 0 0 0 1px rgba(56, 216, 255, .4) inset; }
.cn-tag.gold { background: rgba(255, 210, 58, .14); color: var(--gold); box-shadow: 0 0 0 1px rgba(255, 210, 58, .45) inset; }
.cn-card > p { margin: 0 0 14px; color: var(--txt2); }
.cn-facts { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.cn-facts li { display: flex; gap: 10px; align-items: baseline; padding: 9px 12px; border-radius: 12px; background: rgba(5, 12, 34, .5); font-size: 14px; }
.cn-facts li b { flex: 0 0 auto; min-width: 118px; color: var(--txt3); font-weight: 700; font-size: 12px; letter-spacing: .3px; text-transform: uppercase; }
.cn-facts li span { color: var(--ink); }
.cn-ca { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cn-ca code { font: 600 12.5px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; word-break: break-all; color: #d9ecff; }
.cn-ca button { padding: 5px 10px; border: 0; border-radius: 8px; background: var(--cy); color: #04182a; font: 800 12px/1 var(--ui); }
.cn-ca a { color: var(--cy); font-size: 13px; text-decoration: underline; }
.cn-fee { margin-top: 12px; padding: 10px 12px; border-radius: 12px; background: rgba(255, 150, 60, .1); box-shadow: 0 0 0 1px rgba(255, 170, 80, .35) inset; color: #ffd7a3; font-size: 13.5px; }

/* ---------- the numbers ---------- */
.cn-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.cn-tile { padding: 16px 16px 14px; border-radius: 16px; background: var(--surf); box-shadow: 0 0 0 1px var(--line) inset; min-width: 0; }
.cn-tile small { display: block; color: var(--txt3); font: 700 12px/1.3 var(--ui); letter-spacing: .3px; }
.cn-tile b { display: block; margin: 6px 0 2px; font: 900 26px/1.1 var(--disp); color: var(--ink); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.cn-tile em { display: block; font-style: normal; color: var(--txt2); font-size: 12.5px; }
.cn-tile.hot { box-shadow: 0 0 0 1.5px rgba(217, 89, 38, .65) inset, 0 0 24px rgba(217, 89, 38, .18); }
.cn-tile.hot b::before { content: "🔥 "; font-size: 20px; }
.cn-tile.cy { box-shadow: 0 0 0 1.5px rgba(56, 216, 255, .5) inset; }
.cn-live { display: inline-flex; align-items: center; gap: 6px; margin-left: 10px; padding: 3px 9px; border-radius: 999px; font: 800 11px/1 var(--ui); vertical-align: middle; background: rgba(46, 224, 176, .14); color: var(--mint); }
.cn-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 8px var(--mint); animation: cn-pulse 1.6s infinite; }
.cn-live.off { background: rgba(160, 170, 190, .14); color: var(--txt3); }
.cn-live.off i { background: var(--txt3); box-shadow: none; animation: none; }
@keyframes cn-pulse { 50% { opacity: .35; } }

/* ---------- charts ---------- */
.cn-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.cn-chart { position: relative; padding: 18px; border-radius: 16px; background: var(--surf); box-shadow: 0 0 0 1px var(--line) inset; min-width: 0; }
.cn-chart.wide { grid-column: 1 / -1; }
.cn-chart h3 { font-size: 15px; margin: 0 0 4px; }
.cn-chart > p { margin: 0 0 12px; color: var(--txt3); font-size: 12.5px; }
.cn-legend { display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 10px; padding: 0; list-style: none; font-size: 12.5px; color: var(--txt2); }
.cn-legend li { display: flex; align-items: center; gap: 6px; }
.cn-legend i { width: 12px; height: 12px; border-radius: 3px; background: var(--c); }
.cn-svg { display: block; width: 100%; height: auto; overflow: visible; }
.cn-svg text { fill: var(--txt3); font: 600 10.5px var(--ui); }
.cn-svg .gl { stroke: var(--grid); stroke-width: 1; }
.cn-svg .hit { fill: transparent; }
.cn-svg .hit:hover, .cn-svg .hit.on { fill: rgba(170, 200, 240, .07); }
.cn-empty { padding: 26px 8px; text-align: center; color: var(--txt3); font-size: 14px; }
.cn-tip { position: fixed; z-index: 80; pointer-events: none; min-width: 140px; max-width: 260px; padding: 9px 11px; border-radius: 10px; background: #071331; box-shadow: 0 0 0 1px var(--line), 0 10px 24px rgba(0, 0, 0, .5); color: var(--ink); font-size: 12.5px; line-height: 1.45; }
.cn-tip b { display: block; margin-bottom: 3px; font-size: 12px; color: var(--txt2); }
.cn-tip span { display: flex; align-items: center; gap: 6px; }
.cn-tip span i { width: 9px; height: 9px; border-radius: 2px; background: var(--c); }
.cn-tip span em { margin-left: auto; font-style: normal; font-weight: 800; font-variant-numeric: tabular-nums; }
/* horizontal bars: label · bar · value */
.cn-bars { display: grid; gap: 8px; }
.cn-bar { display: grid; grid-template-columns: minmax(96px, 38%) 1fr auto; align-items: center; gap: 10px; font-size: 13px; border-radius: 8px; padding: 2px 4px; }
.cn-bar:hover { background: rgba(170, 200, 240, .07); }
.cn-bar span { color: var(--txt2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cn-bar s { display: block; height: 12px; border-radius: 0 4px 4px 0; background: var(--c); text-decoration: none; min-width: 2px; }
.cn-bar em { font-style: normal; font-weight: 800; color: var(--ink); font-variant-numeric: tabular-nums; min-width: 54px; text-align: right; }
/* the supply in one stacked bar */
.cn-stack { display: flex; gap: 2px; height: 22px; margin: 6px 0 10px; border-radius: 6px; overflow: hidden; }
.cn-stack s { display: block; height: 100%; background: var(--c); text-decoration: none; min-width: 3px; }
.cn-table { margin-top: 10px; font-size: 13px; color: var(--txt2); }
.cn-table summary { cursor: pointer; color: var(--cy); font-weight: 700; }
.cn-table table { width: 100%; margin-top: 8px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.cn-table th, .cn-table td { padding: 5px 8px; text-align: right; border-bottom: 1px solid var(--grid); }
.cn-table th:first-child, .cn-table td:first-child { text-align: left; }
.cn-table th { color: var(--txt3); font-weight: 700; }

/* ---------- where to use them ---------- */
.cn-use { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cn-use .cn-card h3 { display: flex; align-items: center; gap: 8px; }
.cn-use .cn-card h3 img { width: 26px; height: 26px; object-fit: contain; }
.cn-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 7px; }
.cn-list li { display: grid; grid-template-columns: 26px 1fr; gap: 8px; align-items: start; font-size: 14px; color: var(--txt2); }
.cn-list li > i { font-style: normal; font-size: 18px; line-height: 1.2; }
.cn-list li b { color: var(--ink); }

/* ---------- how they connect ---------- */
.cn-flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: f; }
.cn-flow li { position: relative; padding: 16px 14px; border-radius: 16px; background: var(--glass); box-shadow: 0 0 0 1px var(--line) inset; counter-increment: f; font-size: 14px; color: var(--txt2); }
.cn-flow li::before { content: counter(f); display: grid; place-items: center; width: 28px; height: 28px; margin-bottom: 8px; border-radius: 50%; background: linear-gradient(135deg, var(--cy), var(--mint)); color: #04182a; font: 900 14px/1 var(--ui); }
.cn-flow li b { display: block; margin-bottom: 4px; color: var(--ink); font-size: 15px; }

/* ---------- questions ---------- */
.cn-faq { display: grid; gap: 10px; max-width: 860px; }
.cn-faq details { padding: 14px 16px; border-radius: 14px; background: var(--glass); box-shadow: 0 0 0 1px var(--line) inset; }
.cn-faq summary { cursor: pointer; font-weight: 800; }
.cn-faq p { margin: 10px 0 0; color: var(--txt2); }
.cn-cta { text-align: center; }
.cn-cta .gw-btn { margin: 6px; }

@media (max-width: 900px) {
  .cn-pair, .cn-charts, .cn-use { grid-template-columns: 1fr; }
  .cn-flow { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .cn-sec { padding: 40px 0; }
  .cn-hero { padding: 46px 0 34px; }
  .cn-tiles { grid-template-columns: 1fr 1fr; }
  .cn-tile b { font-size: 21px; }
  .cn-flow { grid-template-columns: 1fr; }
  .cn-facts li { flex-direction: column; gap: 2px; }
  .cn-facts li b { min-width: 0; }
  .cn-card { padding: 18px; }
  .cn-chart { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) { .cn-coins img, .cn-live i { animation: none; } }
