/* Tap Markets — chart and prediction cells share one moving time surface. */
.rush-market-grid-art { background:radial-gradient(circle at 72% 25%,rgba(115,245,211,.25),transparent 27%),linear-gradient(145deg,#0d1818,#101116 58%,#10201d); }
.rush-market-grid-art::before { position:absolute;inset:18% 12% 14%;border:1px solid rgba(132,246,214,.3);border-radius:14px;background:repeating-linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.06) 18% 19%,transparent 19% 36%),repeating-linear-gradient(180deg,transparent 0 18%,rgba(255,255,255,.06) 18% 19%,transparent 19% 36%);content:""; }
.rush-market-grid-art::after { position:absolute;right:11%;bottom:13%;content:"×";color:#9df9da;font-size:clamp(28px,6vw,48px);font-weight:800;letter-spacing:-.09em;line-height:.8;text-shadow:0 8px 24px rgba(77,221,174,.32); }

.rush-tap-markets-dialog { width:min(1050px,calc(100vw - 28px));max-width:none;max-height:min(94dvh,920px);padding:0;overflow:auto;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:#090a0d;color:#f6f6f8;overscroll-behavior:contain; }
.rush-tap-markets-dialog::backdrop { background:rgba(0,0,0,.76);backdrop-filter:blur(7px); }
.rush-tap-markets-dialog[open] { animation:rush-tap-game-in 180ms ease-out both; }
.rush-tap-markets-stage { display:grid;gap:13px;padding:20px; }
.rush-tap-markets-topbar { display:grid;grid-template-columns:1fr auto 36px;align-items:center;gap:14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08); }
.rush-tap-markets-topbar>img { display:block;width:min(142px,38vw);max-height:43px;object-fit:contain;object-position:left center; }
.rush-tap-markets-bank { display:grid;justify-items:end;gap:3px; }
.rush-tap-markets-bank>span,.rush-tap-markets-kicker,.rush-tap-markets-chart-head>span,.rush-tap-markets-ticket-copy>span,.rush-tap-markets-history>div:first-child>span { color:#858994;font-size:9px;font-weight:800;letter-spacing:.12em; }
.rush-tap-markets-bank strong { color:#f5f4f9;font-size:16px;font-variant-numeric:tabular-nums; }
.rush-tap-markets-topbar .rush-dialog-close { width:34px;height:34px; }
.rush-tap-markets-heading { display:flex;align-items:end;justify-content:space-between;gap:18px; }
.rush-tap-markets-heading h2 { margin:3px 0 4px;font-size:clamp(25px,4vw,34px);font-weight:790;letter-spacing:-.05em;line-height:1; }
.rush-tap-markets-heading p { margin:0;color:#999ba5;font-size:12px;line-height:1.4; }
.rush-tap-markets-quote { display:grid;justify-items:end;gap:3px;flex:0 0 auto; }
.rush-tap-markets-quote>span { display:inline-flex;align-items:center;gap:6px;color:#9fa1aa;font-size:9px;font-weight:700; }
.rush-tap-markets-quote i { width:7px;height:7px;border-radius:50%;background:#767982; }
.rush-tap-markets-quote.is-live i { background:#55d68a;box-shadow:0 0 11px rgba(85,214,138,.5); }
.rush-tap-markets-quote.is-offline i { background:#f05a61; }
.rush-tap-markets-quote>strong { color:#f7f6f9;font-size:clamp(19px,3vw,26px);font-weight:760;letter-spacing:-.035em;font-variant-numeric:tabular-nums; }
.rush-tap-markets-layout { min-width:0; }
.rush-tap-markets-chart-card,.rush-tap-markets-ticket,.rush-tap-markets-history { min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:#111216; }
.rush-tap-markets-chart-card { position:relative;display:grid;grid-template-rows:auto minmax(330px,1fr) auto;min-height:390px;padding:12px;overflow:hidden;isolation:isolate; }
.rush-tap-markets-chart-head,.rush-tap-markets-chart-foot { display:flex;align-items:center;justify-content:space-between;gap:8px; }
.rush-tap-markets-chart-controls { display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0; }
.rush-tap-markets-duration-range { color:#82eac1;font-size:9px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap; }
.rush-tap-markets-duration-picker { display:flex;align-items:center;padding:2px;border:1px solid rgba(138,248,216,.18);border-radius:8px;background:rgba(12,17,19,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.rush-tap-markets-duration-picker button { appearance:none;min-width:27px;height:20px;padding:0;border:0;border-radius:5px;background:transparent;color:#8f949f;font:inherit;font-size:8px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;cursor:pointer;touch-action:manipulation; }
.rush-tap-markets-duration-picker button.is-selected { background:#293c35;color:#dfffee;box-shadow:inset 0 0 0 1px rgba(134,243,205,.22),0 1px 6px rgba(0,0,0,.28); }
.rush-tap-markets-duration-picker button:focus-visible { outline:1px solid #9fffe0;outline-offset:1px; }
.rush-tap-markets-duration-picker button:disabled { cursor:default;opacity:.54; }
.rush-tap-markets-chart-head b { color:#9598a2;font-size:10px;font-variant-numeric:tabular-nums; }
.rush-tap-markets-chart-head b.is-positive { color:#4bd195; }
.rush-tap-markets-chart-head b.is-negative { color:#f36b73; }
.rush-tap-markets-chart { --tap-playhead:50%;--tap-grid-overlap:clamp(30px,8vw,62px);position:relative;min-height:330px;margin:7px 0;overflow:hidden;border-radius:10px;background:linear-gradient(90deg,rgba(17,19,25,.7),rgba(11,16,17,.36)),repeating-linear-gradient(90deg,rgba(142,243,212,.042) 0 1px,transparent 1px 33px),repeating-linear-gradient(0deg,rgba(142,243,212,.04) 0 1px,transparent 1px 33px); }
.rush-tap-markets-chart-canvas { position:absolute;z-index:1;top:0;bottom:0;left:0;right:calc(100% - var(--tap-playhead));min-height:330px;overflow:hidden;pointer-events:none; }
.rush-tap-markets-chart svg { display:block;width:100%;height:100%;min-height:330px;overflow:visible; }
.rush-tap-markets-chart .rush-market-grid-lines line { stroke:rgba(255,255,255,.075);stroke-dasharray:3 7;stroke-width:1; }
.rush-tap-markets-chart .area { fill:url(#rushMarketGridFill); }
.rush-tap-markets-chart .line { fill:none;stroke:#bd77ff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(190,117,255,.2)); }
.rush-tap-markets-chart .last-point { fill:#ecdcff;stroke:#b55df4;stroke-width:3;filter:drop-shadow(0 0 4px rgba(190,117,255,.48)); }
.rush-tap-markets-chart-status { position:absolute;inset:0;display:grid;place-items:center;color:#9698a2;font-size:11px;text-align:center;pointer-events:none; }
.rush-tap-markets-chart-foot { color:#777a84;font-size:8px;font-weight:700;font-variant-numeric:tabular-nums; }

/* The board overlaps the chart before it reaches the price line.  This is a
   single coordinate plane rather than a hard left chart/right table split. */
.rush-tap-markets-target-layer { position:absolute;z-index:2;top:0;right:0;bottom:0;left:calc(var(--tap-playhead) - var(--tap-grid-overlap));overflow:hidden;background:linear-gradient(90deg,rgba(31,81,67,0) 0,rgba(31,81,67,.015) 43%,rgba(31,81,67,.04) 100%);pointer-events:none; }
.rush-tap-markets-playhead { position:absolute;z-index:4;top:0;bottom:0;left:calc(var(--tap-grid-overlap) - 1px);width:3px;background:linear-gradient(180deg,transparent,rgba(131,255,217,.76) 15%,rgba(131,255,217,.76) 85%,transparent);box-shadow:0 0 13px rgba(92,238,187,.32);pointer-events:none; }
.rush-tap-markets-target-window { --tap-grid-fade:clamp(64px,12vw,92px);position:absolute;inset:0;overflow:hidden;pointer-events:none; }
/* Targets and their faint background leave the stream through one long alpha
   fade.  The vertical padding mirrors the SVG plot area so row bounds and
   graph values share the same pixel coordinate. */
.rush-tap-markets-grid { position:absolute;inset:5% 0 4%;overflow:hidden;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(142,243,212,.028) 0 1px,transparent 1px 33px),repeating-linear-gradient(0deg,rgba(142,243,212,.028) 0 1px,transparent 1px 33px);-webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.02) 8px,rgba(0,0,0,.08) 16px,rgba(0,0,0,.20) 28px,rgba(0,0,0,.42) 36px,rgba(0,0,0,.68) calc(var(--tap-grid-fade) - 18px),rgba(0,0,0,.88) calc(var(--tap-grid-fade) - 7px),#000 var(--tap-grid-fade),#000 100%);mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.02) 8px,rgba(0,0,0,.08) 16px,rgba(0,0,0,.20) 28px,rgba(0,0,0,.42) 36px,rgba(0,0,0,.68) calc(var(--tap-grid-fade) - 18px),rgba(0,0,0,.88) calc(var(--tap-grid-fade) - 7px),#000 var(--tap-grid-fade),#000 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat; }
.rush-tap-markets-grid-track { position:absolute;inset:0 auto 0 0;display:grid;width:var(--tap-grid-width,150%);height:100%;grid-template-columns:repeat(var(--tap-grid-columns,6),minmax(0,1fr));grid-template-rows:repeat(var(--tap-grid-rows,6),minmax(0,1fr));gap:4px;padding:0 2px 0 0;will-change:transform; }
.rush-tap-markets-cell { position:relative;display:grid;min-width:0;min-height:0;place-items:center;padding:2px;border:1px solid rgba(111,219,189,.28);border-radius:5px;background:linear-gradient(145deg,rgba(20,29,30,.92),rgba(10,15,16,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.035);color:#bcebdc;font:inherit;font-size:clamp(6px,1.25vw,9px);font-weight:790;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.03em;cursor:pointer;pointer-events:auto;touch-action:manipulation;appearance:none;-webkit-tap-highlight-color:transparent; }
.rush-tap-markets-cell b { overflow:hidden;max-width:100%;color:inherit;font-size:1em;line-height:1;text-overflow:clip;white-space:nowrap; }
.rush-tap-markets-cell span { position:absolute;top:2px;left:2px;display:none;max-width:calc(100% - 4px);overflow:hidden;color:#eafff7;font-size:.7em;line-height:1;text-overflow:ellipsis;white-space:nowrap; }
.rush-tap-markets-cell span:empty { display:none; }
.rush-tap-markets-cell.is-up { border-color:rgba(84,222,174,.42);color:#80f0bd; }
.rush-tap-markets-cell.is-down { border-color:rgba(119,202,185,.28);color:#b9e4d9; }
.rush-tap-markets-cell.is-close { opacity:.28; }
.rush-tap-markets-cell:focus { outline:0; }
.rush-tap-markets-cell:focus-visible:not(:disabled) { z-index:3;border-color:#9fffe0;background:#17382f;box-shadow:0 0 10px rgba(109,242,189,.22),inset 0 0 0 1px rgba(164,255,224,.14); }
@media (hover:hover) and (pointer:fine) { .rush-tap-markets-cell:hover:not(:disabled) { z-index:3;border-color:#9fffe0;background:#17382f;box-shadow:0 0 10px rgba(109,242,189,.22),inset 0 0 0 1px rgba(164,255,224,.14); } }
.rush-tap-markets-cell.is-selected { z-index:4;border:2px solid #a2ffe2;background:linear-gradient(145deg,#1c5a49,#10352e);box-shadow:0 0 0 1px rgba(118,244,197,.3),0 0 15px rgba(79,233,173,.45),inset 0 0 10px rgba(164,255,219,.18);color:#f2fff9;opacity:1; }
.rush-tap-markets-cell.is-selected span { display:block; }
.rush-tap-markets-cell.is-selected b { margin-top:7px;font-size:.88em; }
.rush-tap-markets-cell:disabled { cursor:default;opacity:.64; }
.rush-tap-markets-cell.is-close:disabled { opacity:.28; }
.rush-tap-markets-cell.is-selected:disabled { opacity:1; }

.rush-tap-markets-ticket { display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:10px;padding:12px; }
.rush-tap-markets-ticket-copy { display:grid;gap:4px;min-width:0; }
.rush-tap-markets-ticket-copy strong { overflow:hidden;color:#f1f0f5;font-size:13px;text-overflow:ellipsis;white-space:nowrap; }
.rush-tap-markets-ticket-copy small { color:#777a84;font-size:9px;line-height:1.35; }
.rush-tap-markets-stake { display:grid;gap:4px;color:#90939d;font-size:8px;font-weight:760; }
.rush-tap-markets-stake input { width:100%;min-height:37px;padding:0 9px;border:1px solid #292a32;border-radius:9px;outline:0;background:#191a1f;color:#f8f7fa;font:inherit;font-size:12px;font-weight:760;font-variant-numeric:tabular-nums; }
.rush-tap-markets-stake input:focus { border-color:#77dfb7; }
.rush-tap-markets-history { display:flex;align-items:center;gap:15px;padding:10px 12px; }
.rush-tap-markets-history h3 { margin:3px 0 0;color:#f1f0f5;font-size:12px;letter-spacing:-.02em; }
.rush-tap-markets-history-list { display:flex;min-width:0;flex:1;gap:6px;overflow:auto; }
.rush-tap-markets-history-item,.rush-tap-markets-empty { display:grid;flex:0 0 auto;gap:2px;padding:6px 8px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#17181d;color:#a8abb4;font-size:8px; }
.rush-tap-markets-history-item b { color:#f4f4f6;font-size:9px; }
.rush-tap-markets-history-item.is-win b { color:#54d897; }
.rush-tap-markets-history-item.is-loss b { color:#f3777d; }
.rush-tap-markets-disclaimer { margin:0;color:#777a84;font-size:8px;text-align:center; }

@keyframes rush-tap-game-in { from { opacity:0;transform:translateY(8px) scale(.99); } to { opacity:1;transform:translateY(0) scale(1); } }
@media(max-width:720px) {
  .rush-tap-markets-dialog { width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:18px; }
  .rush-tap-markets-stage { gap:9px;padding:12px 10px 16px; }
  .rush-tap-markets-topbar { grid-template-columns:1fr auto 30px;gap:8px;padding-bottom:7px; }
  .rush-tap-markets-topbar>img { width:min(118px,35vw);max-height:35px; }
  .rush-tap-markets-bank>span { font-size:7px; }
  .rush-tap-markets-bank strong { font-size:12px; }
  .rush-tap-markets-topbar .rush-dialog-close { width:29px;height:29px; }
  .rush-tap-markets-heading { align-items:center;gap:8px; }
  .rush-tap-markets-heading h2 { font-size:24px; }
  .rush-tap-markets-heading p { max-width:215px;font-size:9px; }
  .rush-tap-markets-kicker,.rush-tap-markets-chart-head>span,.rush-tap-markets-ticket-copy>span,.rush-tap-markets-history>div:first-child>span { font-size:7px; }
  .rush-tap-markets-quote>span { gap:4px;font-size:7px; }
  .rush-tap-markets-quote>strong { font-size:17px; }
  .rush-tap-markets-chart-card { grid-template-rows:auto 268px auto;min-height:0;padding:9px; }
  .rush-tap-markets-chart,.rush-tap-markets-chart svg,.rush-tap-markets-chart-canvas { min-height:268px; }
  .rush-tap-markets-chart { --tap-playhead:50%; }
  .rush-tap-markets-grid-track { gap:4px;padding-top:2px; }
  .rush-tap-markets-cell { border-radius:5px;font-size:clamp(7px,2.25vw,9px); }
  .rush-tap-markets-chart-controls { gap:4px; }
  .rush-tap-markets-duration-range { font-size:7px; }
  .rush-tap-markets-duration-picker button { min-width:24px;height:18px;font-size:7px; }
  .rush-tap-markets-ticket { grid-template-columns:minmax(0,1fr) 72px;gap:7px;padding:9px; }
  .rush-tap-markets-ticket-copy strong { font-size:10px; }
  .rush-tap-markets-ticket-copy small { font-size:7px; }
  .rush-tap-markets-stake { font-size:7px; }
  .rush-tap-markets-stake input { min-height:34px;padding-inline:6px;font-size:11px; }
  .rush-tap-markets-history { align-items:start;flex-direction:column;gap:6px;padding:8px 9px; }
  .rush-tap-markets-history-list { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .rush-tap-markets-dialog[open] { animation:none; }.rush-tap-markets-grid-track { will-change:auto; } }
