/* StockRepublic round-2 slides (agent T): chapter breaks, choice, idea, weeks. Scoped under .t2 and built only from the
   engine tokens in ../research-deck/styles.css. Entry motion uses backwards-filled animations, so the resting style is
   the final state: the engine's reduced-motion rule (animation:none) simply shows everything. Ambient loops pause
   with body.paused. */
@keyframes t2Up{from{opacity:0;transform:translateY(18px)}}
@keyframes t2Line{from{opacity:0;transform:translateY(105%)}}
@keyframes t2Ghost{from{opacity:0;transform:translate(-50%,-50%) scale(1.07)}}
@keyframes t2Drift{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes t2Float{0%,100%{translate:0 0}50%{translate:-14px -10px}}
@keyframes t2Draw{from{transform:scaleX(0)}}
@keyframes t2Pop{from{opacity:0;transform:scale(.3)}}
@keyframes t2Val{from{opacity:0;transform:translateY(14px) scale(.92)}}

.t2{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;position:relative}
.t2 .t2-rise{animation:t2Up .8s var(--ease) backwards;animation-delay:var(--d,0ms)}
.t2 .t2-head{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.t2 .t2-head .h1{font-weight:450}
.t2 .eyebrow{font-size:12px}
.t2 .h1,.t2-th,.t2-ot,.t2-pt h3,.t2-what,.t2-os,.t2-pt p{text-wrap:balance}.t2 .t2-nw{white-space:nowrap}
.t2 .t2-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;animation:t2Float 14s ease-in-out infinite}
body.paused .t2 .t2-orb,body.paused .t2 .t2-ghost{animation-play-state:paused}

/* ── t_comp · t_deals · t_signals: chapter breaks ── */
.t2-trans{align-items:center;justify-content:center;text-align:center;gap:clamp(14px,2.4vh,24px)}
.t2-ghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;user-select:none;
 font-family:Montserrat,Inter,system-ui,sans-serif;font-weight:300;font-size:min(62vh,44vw);line-height:.8;letter-spacing:-.07em;font-variant-numeric:tabular-nums;
 background:linear-gradient(180deg,rgba(102,51,153,.12) 0%,rgba(153,76,229,.06) 55%,rgba(153,76,229,0) 92%);-webkit-background-clip:text;background-clip:text;color:transparent;
 animation:t2Ghost 1.8s var(--ease) backwards,t2Drift 18s ease-in-out 1.8s infinite}
.t2-th{font-size:clamp(40px,5.4vw,82px);line-height:1.04;font-weight:400;letter-spacing:-.04em;max-width:none;display:flex;flex-direction:column;align-items:center}
.t2-ln{display:block;overflow:hidden;padding:.02em .08em .14em;margin-bottom:-.12em}
.t2-ln>span{display:inline-block;animation:t2Line 1.05s var(--ease) backwards;animation-delay:calc(180ms + var(--l,0)*150ms)}
.t2-trans .sub{text-align:center;max-width:48ch}
.t2-parts{display:flex;gap:8px;margin-top:clamp(4px,1.4vh,14px)}
.t2-parts i{width:30px;height:3px;border-radius:99px;background:rgba(28,6,47,.09)}
.t2-parts i.done{background:rgba(28,6,47,.28)}.t2-parts i.on{background:var(--ink)}

/* ── choice ── */
.t2-choice{gap:clamp(18px,3.4vh,36px)}
.t2-opts{flex:1;min-height:0;max-height:clamp(240px,46vh,440px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,1.8vw,26px)}
.t2-opt{position:relative;overflow:hidden;isolation:isolate;text-align:left;border-radius:28px;padding:clamp(22px,3.4vh,40px) clamp(24px,2.6vw,40px);
 display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:0;
 transition:transform .45s var(--ease),box-shadow .45s var(--ease);animation:t2Up .85s var(--ease) backwards;animation-delay:var(--d,0ms)}
.t2-opt:hover{transform:translateY(-5px);box-shadow:0 30px 70px rgba(50,16,85,.16)}
.t2-opt:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.t2-opt>span:not(.t2-orb){position:relative;z-index:1}
.t2-opt .t2-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.t2-k{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.t2-opt .t2-go{flex:none;width:clamp(44px,5.6vh,54px);height:clamp(44px,5.6vh,54px);border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;transition:transform .35s var(--ease)}
.t2-opt .t2-go svg{width:44%;height:44%}
.t2-opt:hover .t2-go{transform:translateX(4px)}
.t2-opt[data-opt=quick]:hover .t2-go{transform:scale(1.08)}
.t2-opt .t2-bot{display:flex;flex-direction:column;gap:clamp(8px,1.4vh,14px)}
.t2-ot{font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(28px,3.1vw,48px);font-weight:450;letter-spacing:-.035em;line-height:1.04;max-width:16ch;color:var(--ink)}
.t2-os{font-size:clamp(14px,1.15vw,17px);line-height:1.5;color:var(--muted);max-width:34ch}
.t2-opt .t2-orb{width:min(420px,34vw);height:min(420px,34vw);right:-30%;top:-46%}
.t2-opt[data-opt=quick] .t2-orb{background:radial-gradient(circle,rgba(127,162,255,.55),rgba(153,76,229,.18) 45%,transparent 70%)}
.t2-opt[data-opt=skip] .t2-orb{background:radial-gradient(circle,rgba(179,128,241,.5),rgba(255,122,89,.12) 45%,transparent 70%);animation-delay:-7s}
.t2-opt[disabled]{cursor:not-allowed;box-shadow:none;background:rgba(255,255,255,.5)}
.t2-opt[disabled]>span{opacity:.42}.t2-opt[disabled] .t2-orb{display:none}
.t2-opt[disabled]:hover{transform:none;box-shadow:none}.t2-opt[disabled] .t2-go{background:var(--soft)}

/* ── idea ── */
.t2-idea{gap:clamp(18px,3.4vh,36px)}
.t2-pts{flex:1;min-height:0;display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:clamp(14px,1.6vw,24px);align-content:center}
.t2-slot{display:grid;min-width:0}
.t2-slot::before{content:"";grid-area:1/1;border-radius:26px;border:1.5px dashed rgba(28,6,47,.11);background:rgba(255,255,255,.22);transition:opacity .5s var(--ease)}
.t2-slot.on::before{opacity:0;transition-delay:.5s}
.t2-pt{grid-area:1/1;position:relative;overflow:hidden;isolation:isolate;border-radius:26px;padding:clamp(20px,3.4vh,38px) clamp(22px,2.3vw,36px);
 display:flex;flex-direction:column;gap:clamp(8px,1.3vh,14px);min-height:clamp(220px,40vh,400px);
 opacity:0;transform:translateY(28px);transition:opacity .6s var(--ease),transform .9s var(--ease)}
.t2-slot.on .t2-pt{opacity:1;transform:none}
.t2-pt>*:not(.t2-orb){position:relative;z-index:1}
.t2-pt .t2-n{position:absolute;top:clamp(20px,3.2vh,34px);right:clamp(22px,2.2vw,32px);font-family:Montserrat,Inter,system-ui,sans-serif;font-size:13px;font-weight:600;color:var(--soft);font-variant-numeric:tabular-nums}
.t2-pt .t2-ic{width:clamp(50px,6.6vh,64px);height:clamp(50px,6.6vh,64px);border-radius:18px;display:grid;place-items:center;color:var(--blue);background:rgba(102,51,153,.08)}
.t2-pt .t2-ic svg{width:52%;height:52%}
.t2-pt h3{margin-top:auto;font-size:clamp(24px,min(2.4vw,4.4vh),40px);line-height:1.1;font-weight:450;letter-spacing:-.03em;max-width:15ch}
.t2-pt p{margin:0;font-size:clamp(14.5px,min(1.2vw,2.1vh),18.5px);line-height:1.55;color:var(--muted);max-width:30ch;min-height:3.1em}
.t2-pt .t2-orb{width:300px;height:300px;right:-120px;bottom:-150px;background:radial-gradient(circle,rgba(127,162,255,.18),transparent 70%)}
.t2-hero{background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(246,248,255,.94)) padding-box,var(--grad) border-box;border:1.5px solid transparent;box-shadow:0 26px 64px rgba(102,51,153,.18),0 2px 6px rgba(50,16,85,.06)}
.t2-hero .t2-orb{background:radial-gradient(circle,rgba(153,76,229,.26),rgba(255,122,89,.10) 45%,transparent 70%);right:-90px;top:-120px;bottom:auto}
.t2-val{font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(64px,min(8vw,13vh),132px);font-weight:400;letter-spacing:-.06em;line-height:.86;align-self:flex-start;padding-right:.06em}
.t2-slot.on .t2-val{animation:t2Val 1s var(--ease) .25s backwards}

/* ── weeks ── */
.t2-weeks{gap:clamp(18px,3.4vh,36px)}
.t2-wbody{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(240px,24vw,380px);gap:clamp(32px,5vw,88px);align-items:center}
.t2-tl{--wk:18px;--gp:clamp(14px,2.4vh,24px);--nd:24px;position:relative;display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));align-items:start}
.t2-rail{position:absolute;left:calc(50% / var(--cols,4));right:calc(50% / var(--cols,4));top:calc(var(--wk) + var(--gp) + var(--nd) / 2 - 1px);height:2px;border-radius:2px;background:rgba(28,6,47,.09)}
.t2-fill{position:absolute;inset:0;border-radius:2px;background:var(--grad);transform-origin:left center;animation:t2Draw var(--dur,1700ms) ease-in-out backwards;animation-delay:var(--d,400ms)}
.t2-col{display:flex;flex-direction:column;align-items:center;gap:var(--gp);text-align:center;padding:0 clamp(6px,1vw,14px);min-width:0}
.t2-wk{height:var(--wk);line-height:var(--wk);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);white-space:nowrap;animation:t2Up .7s var(--ease) backwards;animation-delay:calc(var(--d) - 200ms)}
.t2-col.on .t2-wk{color:var(--ink)}
.t2-node{width:var(--nd);height:var(--nd);display:grid;place-items:center;position:relative;z-index:1}
.t2-node i{display:block;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid rgba(28,6,47,.16);animation:t2Pop .55s var(--ease) backwards;animation-delay:var(--d)}
.t2-col.on .t2-node i{width:var(--nd);height:var(--nd);border:6px solid #fff;background:var(--ink);box-shadow:0 0 0 1px rgba(28,6,47,.10),0 10px 24px rgba(50,16,85,.20)}
.t2-what{margin:0;font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(18px,min(1.85vw,3.4vh),31px);font-weight:450;letter-spacing:-.025em;line-height:1.18;max-width:11ch;animation:t2Up .8s var(--ease) backwards;animation-delay:calc(var(--d) + 120ms)}
.t2-time{position:relative;overflow:hidden;isolation:isolate;border-radius:28px;padding:clamp(24px,4vh,44px) clamp(24px,2.4vw,38px);display:flex;flex-direction:column;gap:clamp(10px,1.8vh,18px)}
.t2-time>*:not(.t2-orb){position:relative;z-index:1}
.t2-time .t2-orb{width:320px;height:320px;right:-140px;bottom:-170px;background:radial-gradient(circle,rgba(179,128,241,.38),rgba(153,76,229,.10) 50%,transparent 70%)}
.t2-num{display:flex;align-items:baseline;gap:.22em;flex-wrap:wrap}
.t2-num b{font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(64px,min(7.4vw,13vh),124px);font-weight:400;letter-spacing:-.06em;line-height:.9;font-variant-numeric:tabular-nums;padding-right:.04em}
.t2-num span{font-family:Montserrat,Inter,system-ui,sans-serif;font-size:clamp(20px,2vw,32px);font-weight:500;letter-spacing:-.02em;color:var(--muted)}

@media (max-width:900px){.t2-opts,.t2-pts{grid-template-columns:1fr;max-height:none}.t2-wbody{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.t2-pt,.t2-slot::before{transition:none}}
