/* StockRepublic slide 18 (agent G): jbacktrack. Reuses the engine's .bt/.btc/.asks/.early/.erow/.emeter and fixes the fit:
   the original overflowed at 720px (footer over card 3, card 1 stats cut off). Here the header is one line,
   every size scales with the viewport height, and the grid takes only the room left above the footer. */
.jbt{flex:1;min-height:0;display:flex;flex-direction:column;gap:clamp(8px,1.5vh,16px)}
.jbt .eyebrow{font-size:12px}
.jbt .h1{font-size:clamp(32px,min(3.5vw,6.1vh),62px);max-width:none;text-wrap:balance;letter-spacing:-.035em}
.jbt .sub{max-width:none;font-size:clamp(14px,min(1.12vw,2.1vh),17px);margin-top:-2px}
.jbt .bt{flex:1 1 auto;min-height:0;max-height:min(100%,600px);margin-top:clamp(4px,1.2vh,14px);gap:clamp(12px,1.2vw,20px)}
.jbt .btc{padding:clamp(16px,2.6vh,28px) clamp(18px,1.6vw,28px);gap:clamp(7px,1.25vh,13px);min-height:0;border-radius:22px;
 animation:jbtIn .8s var(--ease) both;animation-delay:calc(160ms + var(--c,0)*110ms)}
.jbt .btc h3{font-size:clamp(17px,min(1.5vw,2.75vh),27px);line-height:1.2;text-wrap:balance}
.jbt .btc p{font-size:clamp(12.5px,min(1.02vw,1.9vh),17px);line-height:1.5;text-wrap:pretty}
.jbt .btn-n{font-size:12px;letter-spacing:.04em}
/* 01 */
.jbt .asks{gap:clamp(5px,.8vh,8px)}
.jbt .asks li{font-size:clamp(12.5px,min(1vw,1.85vh),16.5px);line-height:1.35;padding:clamp(6px,1vh,10px) 13px;text-wrap:pretty}
.jbt .btc .stats{gap:clamp(16px,2vw,28px);flex-wrap:nowrap;padding-top:clamp(6px,1vh,12px);border-top:1px solid var(--line)}
.jbt .btc .stats div{flex:1;min-width:0}
.jbt .btc .stats b{font-size:clamp(24px,min(2.1vw,4vh),44px);line-height:1;font-variant-numeric:tabular-nums}
.jbt .btc .stats small{font-size:clamp(12px,min(.85vw,1.6vh),14px);line-height:1.35;text-wrap:balance}
/* 02: the early read, one slim bar per event on a scale of all recent stories */
.jbt .early{gap:clamp(5px,.9vh,9px)}
.jbt .early .eyebrow{margin-bottom:2px;letter-spacing:.11em}
.jbt .erow{grid-template-columns:minmax(0,1fr) minmax(48px,27%) auto;gap:10px;font-size:clamp(12.5px,min(.98vw,1.8vh),16px);animation:jbtIn .6s var(--ease) both;animation-delay:calc(520ms + var(--d,0)*70ms)}
.jbt .erow>span:first-child{line-height:1.3}
.jbt .erow b{font-size:clamp(12.5px,min(.9vw,1.7vh),14.5px);font-weight:500;white-space:nowrap;min-width:3.9em;text-align:right}.jbt .erow b em{font-style:normal;font-weight:700;color:var(--ink)}
.jbt .jbt-bar{display:block;position:relative;height:clamp(6px,.8vh,8px);border-radius:99px;background:rgba(28,6,47,.07);overflow:hidden}
.jbt .jbt-bar i{position:absolute;left:0;top:0;bottom:0;width:0;min-width:4px;height:auto;border-radius:99px;background:var(--blue);transform-origin:left;
 animation:jbtGrow 1s var(--ease) both;animation-delay:calc(640ms + var(--d,0)*70ms)}
.jbt .erow:first-of-type .jbt-bar i{background:var(--violet)}
.jbt-ex{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:3px;align-items:center;
 padding:clamp(7px,1.1vh,11px) 13px;border-radius:12px;border:1px solid var(--line2);background:rgba(255,255,255,.6);transition:background .25s,border-color .25s}
.jbt-ex:hover,.jbt-ex:focus-visible{background:#fff;border-color:rgba(102,51,153,.4)}
.jbt-ex:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.jbt-exk{font-size:clamp(12px,min(.85vw,1.6vh),14px);color:var(--muted)}.jbt-exk b{color:var(--ink);font-weight:600}
.jbt-exl{grid-column:1;font-size:clamp(12.5px,min(.9vw,1.7vh),15px);line-height:1.45;color:var(--ink)}
.jbt-go{grid-column:2;grid-row:1/span 2;font-size:16px;color:var(--blue)}
/* 03 */
.jbt .btc.dark{background:linear-gradient(160deg,#1C062F,#321055)}
.jbt-sig{margin-top:auto;display:grid;gap:clamp(7px,1.1vh,11px);padding-top:clamp(8px,1.2vh,14px);border-top:1px solid rgba(255,255,255,.12)}
.jbt-sig .eyebrow{color:rgba(255,255,255,.55)}
.jbt-sigline{display:flex;align-items:center;gap:12px}
.jbt-sigline b{font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(26px,min(2.4vw,4.6vh),48px);font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--accent);white-space:nowrap}
.jbt-sigline span{font-size:clamp(12.5px,min(.98vw,1.8vh),16px);line-height:1.35;color:rgba(255,255,255,.82);text-wrap:balance}
.jbt-chips{display:flex;flex-wrap:wrap;gap:6px}
.jbt-chips span{font-size:clamp(12px,min(.8vw,1.5vh),13.5px);line-height:1;padding:.5em .85em;border-radius:99px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.9);white-space:nowrap}
/* Short screens: the example keeps its link and drops its summary line */
@media (max-height:800px){.jbt-exl{display:none}.jbt-ex{padding-block:8px}}
@keyframes jbtIn{from{opacity:0;transform:translateY(14px)}}
@keyframes jbtGrow{from{transform:scaleX(0)}}
body.paused .jbt .btc,body.paused .jbt .erow,body.paused .jbt .jbt-bar i{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.jbt .btc,.jbt .erow,.jbt .jbt-bar i{animation:none}}
/* Thrive drawer */
.jbt-tl{margin:20px 0 0;display:grid;gap:0;border-left:2px solid rgba(102,51,153,.25);padding-left:18px}
.jbt-tl div{position:relative;padding:6px 0 12px}.jbt-tl div::before{content:"";position:absolute;left:-24px;top:11px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--blue)}
.jbt-tl time{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.jbt-tl p{margin:4px 0 0;font-size:13.5px;line-height:1.55;color:var(--muted)}.jbt-tl p b{color:var(--ink)}
.jbt-q{margin:0;padding:14px 16px;border-radius:14px;background:rgba(102,51,153,.06);font-size:14.5px;line-height:1.55;color:var(--ink)}
.jbt-dp{font-size:13px;line-height:1.6;color:var(--muted);margin:10px 0 0}.jbt-dp b{color:var(--ink)}.jbt-dp a{color:var(--blue);text-decoration:none;font-weight:600}
.jbt-kvl{margin-top:6px}.jbt-kvl dd{font-weight:400;color:var(--muted)}

/* StockRepublic (agent B fit): long signal titles wrap inside card 03 */
.jbt .btc{min-width:0}.jbt-sig,.jbt-sigline{min-width:0}.jbt-sigline span{min-width:0;overflow-wrap:anywhere}.jbt-chips span{white-space:normal;line-height:1.25}

/* StockRepublic (agent B): four equal step cards, short text only */
.jbt .bt.jbt4{grid-template-columns:repeat(4,minmax(0,1fr));flex:0 0 auto;height:clamp(260px,40vh,380px);max-height:none;margin-top:clamp(12px,3vh,32px)}
.jbt .bt.jbt4 .btc{padding:clamp(20px,3vh,30px) clamp(18px,1.6vw,26px);gap:clamp(10px,1.6vh,16px)}
.jbt .bt.jbt4 .btc h3{font-size:clamp(19px,min(1.65vw,3vh),28px)}
.jbt .bt.jbt4 .btc p{font-size:clamp(14px,min(1.15vw,2.1vh),18.5px);line-height:1.5}
@media (max-width:1100px){.jbt .bt.jbt4{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}}
@media (max-width:640px){.jbt .bt.jbt4{grid-template-columns:1fr}}

/* the framing line under the four steps (Saras, 8 Nov): informed bets, not proven */
.jbt-note{margin:clamp(8px,1.5vh,16px) 0 0;max-width:1040px;font-size:clamp(13px,min(1vw,1.95vh),16px);line-height:1.4;font-weight:500;color:var(--ink);text-wrap:pretty}
