/* BidDesk Quant v2: the Tape (fixed lanes), its cards, the Morning room and Truth's freshness. Ink and hairlines;
   tabular numerals; money in ₹ crore with Cr marked; green only for a live dot and a rule that would fire; red for a ban. */
.tp, .mo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; min-width: 0; }
.tp .dot, .mo .dot, .tr-st .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ink-4); display: inline-block; margin-right: 8px; vertical-align: 1px; }
.tp .dot.on, .tr-st .dot.on { background: var(--go); box-shadow: 0 0 0 3px var(--go-soft); } .tp .dot.bad, .tr-st .dot.bad { background: var(--kill); }
.tp-bar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.tp-live { margin: 0; font-size: 14px; } .tp-live .faint { margin-left: 6px; }
.tp-filt { display: flex; flex-wrap: nowrap; gap: 6px; align-items: center; min-height: 30px; overflow-x: auto; scrollbar-width: none; }   /* one line: no jump when chips land */
.tp-filt::-webkit-scrollbar { display: none; } .tp-filt > * { flex: none; }
.tp-filt[data-more="r"] { mask-image: linear-gradient(to right, #000 calc(100% - 48px), transparent); }   /* more chips past the edge */
.tp-filt[data-more="l"] { mask-image: linear-gradient(to left, #000 calc(100% - 48px), transparent); }
.tp-filt[data-more="l r"] { mask-image: linear-gradient(to right, transparent, #000 48px, #000 calc(100% - 48px), transparent); }
.tp-chip { height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--line-2); background: transparent; color: var(--ink-2); font-size: 13px; cursor: pointer; }
.tp-chip .num { color: var(--ink-3); margin-left: 4px; }
.tp-chip[aria-pressed="true"] { background: var(--surface-2); color: var(--ink); border-color: var(--ink-3); }
.tp-sep { width: 1px; height: 18px; background: var(--line-2); margin: 0 6px; }
.tp-table { border: 1px solid var(--line); border-radius: var(--r-3); background: var(--bg-2); overflow: clip; overflow-anchor: none; }
.tp-row { display: grid; grid-template-columns: 66px 84px minmax(150px, 1.25fr) 104px minmax(318px, 1.7fr) 132px 164px; column-gap: 12px;
  align-items: center; min-height: 46px; padding: 6px 16px; border-top: 1px solid var(--line); font-size: 13.5px; cursor: pointer; outline: none; }
.tp-row:hover { background: var(--surface); }
.tp-row.sel { background: var(--surface); box-shadow: inset 2px 0 0 var(--ink-2); }
.tp-row[aria-expanded="true"] { background: var(--surface-2); }
.tp-row.new { animation: tp-in 900ms var(--ease); }
@keyframes tp-in { from { background: var(--surface-2); } to { background: transparent; } }
.tp-hd { position: sticky; top: var(--q-top, 57px); z-index: 2; background: var(--bg-2); border-top: 0; min-height: 38px; cursor: default; font: 500 10.5px/1.2 var(--sans); letter-spacing: .11em; text-transform: uppercase; color: var(--ink-3); }
.tp-hd:hover { background: var(--bg-2); }
.tp-c { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.tp-time { color: var(--ink-2); } .tp-lag b { font-weight: 500; }
.tp-co { display: grid; line-height: 1.25; } .tp-co b { font-weight: 600; letter-spacing: .01em; } .tp-co small, .tp-fig small, .tp-hits small { color: var(--ink-3); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* A rule's name and its "+N" count are read whole: wrapped, never cut. */
.tp-hits small { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.tp-fig { display: grid; line-height: 1.3; } .tp-fig .amt { font-weight: 500; } .tp-fig:empty::before { content: "—"; color: var(--ink-3); }
.tp-k { display: inline-block; font: 500 11px/1 var(--sans); letter-spacing: .04em; padding: 5px 7px; border-radius: 4px; border: 1px solid var(--line-2); color: var(--ink-2); white-space: nowrap; }
.tp-trio { display: grid; grid-template-columns: repeat(3, minmax(0, max-content)); gap: 12px; }
.tp-trio > span { display: grid; line-height: 1.2; white-space: nowrap; } .tp-trio em { font-style: normal; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.tp-word { text-transform: capitalize; }
.tp-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.tp-tag { font-size: 11px; padding: 3px 6px; border-radius: 4px; background: rgba(241, 233, 216, .07); color: var(--ink-2); white-space: nowrap; }
.tp-fno { display: grid; line-height: 1.3; }
.tp-ban { font-size: 12px; white-space: nowrap; color: var(--ink-3); } .tp-ban.in { color: var(--kill); font-weight: 500; } .tp-ban.unk { font-style: italic; }
.tp-hits { display: grid; line-height: 1.3; }
.tp-hit { font-size: 12.5px; font-weight: 500; color: var(--ink-2); white-space: nowrap; } .tp-hit.fire { color: var(--go); } .tp-hit.skip { color: var(--ink-3); }
.tp-dim { color: var(--ink-3); font-size: 12.5px; }
.tp-card { border-top: 1px solid var(--line); background: var(--surface); padding: 18px 20px 20px; display: grid; gap: 14px; }
.tp-card-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; }
.tp-k2, .tp-lagline { margin: 0; font-size: 13px; color: var(--ink-2); } .tp-lagline b { color: var(--ink); font-weight: 600; }
.tp-card-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 24px; }
.tp-card-grid section { min-width: 0; display: grid; gap: 8px; align-content: start; } .tp-card-grid section > p.tp-dim { margin: 0; } .tp-card-grid section > .tp-h ~ .tp-h { margin-top: 10px; }
.tp-h { margin: 0; font: 500 10.5px/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.tp-card blockquote { margin: 0; font: 400 16px/1.5 var(--serif); color: var(--ink); max-width: 60ch; }
.tp-src, .tp-ctx { margin: 0; font-size: 13px; color: var(--ink-2); } .tp-src a { color: var(--ink); }
.tp-dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 0; font-size: 13px; } .tp-dl dt { color: var(--ink-3); } .tp-dl dd { margin: 0; }
.tp-dl .tp-wide { grid-column: 1 / -1; } .tp-dl dd.tp-wide { margin-bottom: 6px; } .tp-card .tp-trio { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.tp-tagrow { margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 4px; }
.tp-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; font-size: 13px; }
.tp-strip span { display: grid; line-height: 1.35; } .tp-strip em { font-style: normal; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); } .tp-strip small { color: var(--ink-3); font-size: 11.5px; }
.tp-rules { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 13px; } .tp-rules small { display: block; color: var(--ink-3); font-size: 12px; }
.tp-none { margin: 0; padding: 18px 16px; color: var(--ink-3); border-top: 1px solid var(--line); }
.tp-empty { border: 1px dashed var(--line-2); border-radius: var(--r-3); padding: 28px; } .tp-empty h2 { font: 300 26px/1.2 var(--serif); margin: 0 0 8px; } .tp-empty p { margin: 0; color: var(--ink-2); max-width: 64ch; }
.tp-foot { margin: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; justify-content: space-between; }
.tp-keys kbd { font: 500 11px var(--sans); border: 1px solid var(--line-2); border-radius: 4px; padding: 1px 5px; color: var(--ink-2); }
.tp-counts { border: 1px solid var(--line); border-radius: var(--r-3); background: var(--bg-2); padding: 24px 26px; display: grid; gap: 6px; max-width: 720px; }
.tp-counts .eyebrow { margin: 0 0 4px; } .tp-counts .faint { margin: 0; }
.tp-big { margin: 0; font: 300 56px/1 var(--serif); letter-spacing: -.03em; }
.tp-bars { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.tp-bars li { display: grid; grid-template-columns: 150px 1fr 48px; gap: 12px; align-items: center; font-size: 13.5px; color: var(--ink-2); } .tp-bars b { text-align: right; font-weight: 500; color: var(--ink); }
.tp-barw { height: 6px; border-radius: 3px; background: rgba(241, 233, 216, .06); overflow: hidden; } .tp-barw i { display: block; height: 100%; background: var(--ink-3); transform-origin: left; }
.tp-lock { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; color: var(--ink-3); }
.tp-stale { margin: 8px 0 0; font-size: 13.5px; color: var(--ink-2); }
/* The lanes follow the table's own width (a container), never the window's, so the Tape never sets the page's width:
   one line from 1122px; tighter lanes from 1014px; below that the key figure takes a second line under the company;
   under 760px each filing is a three-line card. */
.tp-table { container-type: inline-size; }
@container (max-width: 1121px) {
  .tp-row { grid-template-columns: 64px 64px minmax(120px, 1fr) 100px minmax(318px, 1.5fr) 112px 132px; }
  .tp-co small, .tp-hits small { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }   /* a long name takes a second line */
}
@container (max-width: 1013px) {
  .tp-row { grid-template-columns: 64px 70px minmax(140px, 1.4fr) 100px minmax(120px, .8fr) minmax(132px, 1fr); grid-template-areas: "time lag co kind fno hits" ". . fig fig fig fig"; row-gap: 4px; }
  .tp-time { grid-area: time; } .tp-lag { grid-area: lag; } .tp-co { grid-area: co; } .tp-kind { grid-area: kind; } .tp-fno { grid-area: fno; } .tp-hits { grid-area: hits; }
  .tp-fig { grid-area: fig; } .tp-fig:empty, .tp-hd .tp-fig { display: none; }
}
@container (max-width: 759px) {
  .tp-hd { display: none; }
  .tp-row { grid-template-columns: auto auto 1fr auto; grid-template-areas: "time lag kind hits" "co co fno fno" "fig fig fig fig"; row-gap: 6px; padding: 10px 12px; }
  .tp-kind { justify-self: end; } .tp-hits { justify-items: end; } .tp-fig { overflow: visible; } .tp-fno { justify-items: end; text-align: right; }
  .tp-hits small { display: none; }
  .tp-trio { gap: 8px; } .tp-card-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; } .tp-card { padding: 16px 14px; }
  .tp-bars li { grid-template-columns: 110px 1fr 40px; }
}
@media (max-width: 760px) { .tp-keys { display: none; } }
/* Morning. */
.mo-skel { min-height: 365px; align-content: start; } .mo-skel span:first-child { height: 46px; } .mo-skel span:nth-child(3) { height: 220px; }
.mo-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 32px; align-items: end; }
.mo-title { font: 300 40px/1.08 var(--serif); letter-spacing: -.025em; margin: 0; } .mo-title i { font-style: italic; }
.mo-built { margin: 10px 0 0; }
.mo-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-3); overflow: hidden; }
.mo-tile { background: var(--surface); padding: 14px 16px; display: grid; gap: 4px; min-width: 0; }
.mo-k { font: 500 10.5px/1.2 var(--sans); letter-spacing: .11em; text-transform: uppercase; color: var(--ink-3); } .mo-v { font: 400 28px/1.1 var(--sans); font-variant-numeric: tabular-nums lining-nums; } .mo-s { font-size: 12px; line-height: 1.35; min-height: 2.7em; color: var(--ink-3); }
.mo-ban { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; font-size: 13.5px; color: var(--ink-2); padding: 12px 16px; border: 1px solid var(--line); border-radius: var(--r-2); background: var(--bg-2); }
.mo-ban b { color: var(--kill); font-weight: 600; } .mo-bk { font: 500 10.5px/1 var(--sans); letter-spacing: .11em; text-transform: uppercase; color: var(--ink-3); margin-right: 4px; }
.mo-sec { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 18px; }
.mo-h { margin: 0; display: flex; align-items: baseline; gap: 10px; font: 500 15px/1.3 var(--sans); } .mo-h small { font-weight: 400; color: var(--ink-3); font-size: 12.5px; }
.mo-more { margin-left: auto; font-size: 13px; font-weight: 400; color: var(--ink-2); }
.mo-rules { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 8px; } .mo-none { margin: 0; }
.mo-rules.mo-hold { visibility: hidden; }   /* until the block above is painted: it moves unseen, then shows */
/* T's first paint of the counts card (morning.js countsSkel): its words, the figures veiled at their size. */
.mo-cskel :is(.tp-big span, .faint span, .tp-bars li > span:first-child, .tp-bars b) { color: transparent; -webkit-text-fill-color: transparent; user-select: none; border-radius: var(--r-2); background: linear-gradient(90deg, var(--surface), var(--raise), var(--surface)); background-size: 200% 100%; animation: pv-sheen 1.6s var(--ease) infinite; }
.mo-cskel .tp-big span { display: inline-block; min-width: 1.6ch; }
@media (prefers-reduced-motion: reduce) { .mo-cskel * { animation: none; } }
.mo-rail .bd-rules { columns: 2 320px; } .mo-rail .bd-rules > * { break-inside: avoid; }
.mo-tiles.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1100px) { .mo-head { grid-template-columns: minmax(0, 1fr); gap: 20px; } }
@media (max-width: 760px) { .mo-title { font-size: 30px; } .mo-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .mo-v { font-size: 22px; } .mo-more { display: none; } }
/* Truth: freshness. */
.tr-fresh { margin-top: 44px; } .tr-grid td, .tr-grid th { font-size: 13.5px; } .tr-st { white-space: nowrap; } .tr-note { color: var(--ink-2); } .tr-at { margin: 10px 0 0; }
/* 641-760: the four columns kept, scrolled sideways inside the panel (.sw-wrap clips, so the scroll is set on both classes);
   at 640 and below truth.css stacks each source as a card that wraps its own text. */
@media (min-width: 641px) and (max-width: 760px) { .sw-wrap.tr-wrap { overflow-x: auto; } .tr-grid { min-width: 620px; } }
