/* Data boards (/web3, /polymarket) — shared by both pages, layered on
   top of public.css variables (--blue #2E5CFF, --green, --red …). */
.board-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  background:var(--card);color:var(--blue);border:1px solid var(--line);
  font-size:13.5px;font-weight:600;border-radius:10px;padding:7px 14px}
.btn-ghost:hover{border-color:var(--blue)}

.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.tiles-3{grid-template-columns:repeat(3,1fr)}
.tiles-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.tiles,.tiles-3{grid-template-columns:repeat(2,1fr)}}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 16px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.tile .lab{font-size:13px;color:var(--mut)}
.tile .val{font-size:22px;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums;line-height:1.3}
.tile .val.pm-top{font-size:15px;line-height:1.45}
.tile .sub{font-size:12.5px;color:var(--mut);margin-top:3px}
.up{color:var(--green)} .down{color:var(--red)}
.pm-spot{display:flex;align-items:baseline;gap:8px;margin:6px 0 2px}
.pm-spot b{font-size:17px;font-weight:600}
.pm-spot span{font-size:12px;font-weight:600}

.fng-label{font-size:14px;font-weight:600;color:var(--mut)}
.fng-bar{height:8px;border-radius:99px;position:relative;margin-top:12px;
  background:linear-gradient(90deg,#DC2626,#F59E0B,#EAB308,#84CC16,#16A34A)}
.fng-marker{position:absolute;top:-3px;width:14px;height:14px;border-radius:50%;
  background:#fff;border:2px solid #111418;transform:translateX(-50%);
  opacity:0;transition:opacity .25s}
.fng-marker.on{opacity:1}

.mkt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.mkt{min-width:780px}
table.mkt td{vertical-align:middle}
.coin-cell{display:flex;align-items:center;gap:8px;white-space:nowrap}
.coin-cell img{width:22px;height:22px;border-radius:50%;flex:none}
.coin-cell .nm{font-weight:600}
.coin-cell .sym{color:var(--mut);font-size:12.5px}
td.num,th.n{font-variant-numeric:tabular-nums}
.unavail{color:var(--mut);text-align:center;padding:20px 10px}

.pm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin-top:16px}
.pm-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px;display:flex;flex-direction:column;gap:9px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.pm-thumb{width:100%;height:118px;object-fit:cover;border-radius:10px;background:var(--blue-soft)}
.pm-q{font-weight:600;font-size:15px;line-height:1.5}
.pm-meta{font-size:12.5px;color:var(--mut)}
.pm-cat{display:inline-block;background:var(--blue-soft);color:var(--blue);border-radius:99px;
  padding:1px 8px;font-size:12px;font-weight:600;margin-right:6px}
.prob-labels{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;font-weight:600}
.prob-labels .r{text-align:right}
.prob{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--line)}
.prob .seg1{background:var(--blue)}
.prob .seg2{background:#9DB4FF}
.prob .seg-up{background:var(--green)}
.prob .seg-dn{background:var(--red)}
.prob-labels .lab-up{color:var(--green)}
.prob-labels .lab-dn{color:var(--red)}
.buy-row{display:flex;gap:8px}
.buy-btn{flex:1;display:flex;justify-content:space-between;align-items:center;height:40px;padding:0 16px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none}
.buy-btn b{font-size:15px}
.buy-btn.up{background:color-mix(in srgb, var(--green) 12%, var(--card));color:var(--green)}
.buy-btn.dn{background:color-mix(in srgb, var(--red) 12%, var(--card));color:var(--red)}
.buy-btn.g1{background:var(--blue-soft);color:var(--blue)}
.buy-btn.g2{background:var(--surface);color:var(--mut)}
.top-outcome{font-size:14px}
.top-outcome b{color:var(--blue)}
.pm-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;font-size:12.5px;
  border-top:1px solid var(--line);padding-top:9px}
.pm-stats .lab{color:var(--mut)}
.pm-stats .v{font-weight:600;font-variant-numeric:tabular-nums}
.pm-link{margin-top:auto;font-weight:600;font-size:13.5px}

html,body{overflow-x:hidden;overflow-x:clip}
body{overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}
@media (pointer:coarse){ input,select,textarea{font-size:16px !important} }

.pm-cd{font-variant-numeric:tabular-nums;font-weight:600;color:var(--blue);font-size:13px;white-space:nowrap}
[data-cd].hot{color:var(--red)}
.pm-titlerow{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}

/* ---- 窄屏表格收紧（2026-11-10 巡查）：8 列桌面表在手机上横滚可以，但首屏必须
   完整露出排名/币种/价格/24h ——次要列（7d 涨跌、24h 成交量）窄屏隐藏，
   币名可省略号，≤380 再藏名次列。 ---- */
@media(max-width:640px){
  table.mkt{min-width:0}
  table.mkt th,table.mkt td{padding:8px 6px}
  table.mkt th:nth-child(5),table.mkt td:nth-child(5),
  table.mkt th:nth-child(7),table.mkt td:nth-child(7){display:none}
  table.mkt td:nth-child(2){max-width:132px}
  .coin-cell{min-width:0;overflow:hidden}
  .coin-cell .nm{overflow:hidden;text-overflow:ellipsis;min-width:0;white-space:nowrap}
  .coin-cell .sym{display:none}
}
@media(max-width:380px){
  table.mkt th:nth-child(1),table.mkt td:nth-child(1){display:none}
}
