/* Inner pages (calendar, GMP, hub, scorecard, fund rotation, broker record, sectors, database):
   one look for headers, tiles, tables, chips and cards. Loaded on every page after cloud.css. */

/* page header: soft red wash, orb, live kicker pill, large display title */
.phead{position:relative;overflow:hidden;padding:clamp(30px,4.5vw,58px) 0 clamp(22px,3vw,34px)!important;background:linear-gradient(180deg,#fff 0%,#fff6f4 100%);border-bottom:1px solid var(--line)}
html[data-theme="dark"] .phead{background:linear-gradient(180deg,#0e0f12,#140e10)}
.phead::before{content:"";position:absolute;right:-140px;top:-180px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(255,0,0,.16),transparent 70%);animation:hmFloat 16s ease-in-out infinite alternate;pointer-events:none}
.phead::after{content:"";position:absolute;left:-120px;bottom:-200px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(255,122,89,.14),transparent 70%);animation:hmFloat 20s ease-in-out -7s infinite alternate;pointer-events:none}
.phead .wrap{position:relative;z-index:1}
.phead .kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:6px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);font:800 11.5px "Manrope",var(--font);letter-spacing:.08em;color:#ff0000;box-shadow:0 6px 18px -12px rgba(16,17,20,.35)}
.phead h1{font:800 clamp(32px,5vw,60px)/1.02 "Manrope",var(--display)!important;letter-spacing:-.04em;color:var(--ink);margin:0;animation:pgRise .8s cubic-bezier(.22,1,.36,1) both}
.phead .lead{max-width:720px;margin:12px 0 0;font-size:clamp(15px,1.25vw,17.5px);line-height:1.6;color:var(--ink-2);animation:pgRise .8s .12s cubic-bezier(.22,1,.36,1) both}
@keyframes pgRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hub-head h1{font-family:"Manrope",var(--display);letter-spacing:-.04em}

/* stat tiles */
.tiles{gap:14px!important}
.tile{position:relative;overflow:hidden;border-radius:22px!important;padding:18px 18px 16px!important;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,border-color .3s}
.tile::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,#ff0000,#ff7a59);transform:scaleX(.25);transform-origin:left;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.tile:hover{transform:translateY(-3px);border-color:rgba(255,0,0,.25);box-shadow:0 22px 40px -28px rgba(255,0,0,.45)}
.tile:hover::before{transform:scaleX(1)}
.tile b{font:800 clamp(26px,2.6vw,36px)/1.05 "Manrope",var(--display)!important;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.tile span{margin-top:4px}

/* cards, chips, tables */
.card{border-radius:22px}
.card h2{font-family:"Manrope",var(--display);letter-spacing:-.025em}
.chips button,.chips a{transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.chips button:hover,.chips a:hover{transform:translateY(-1px)}
.chips button i{font-style:normal;font-size:11px;font-weight:800;opacity:.7}
.tbl thead th{position:sticky;top:0;z-index:1;background:var(--card);font:800 11.5px "Manrope",var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
.tbl tbody tr{transition:background-color .18s}
.tbl tbody tr:hover{background:rgba(255,0,0,.035)}
.tbl a.co{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700}
.tbl a.co .logo{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.tbl a.co:hover .logo{transform:scale(1.08) rotate(-3deg)}
.tbl a.co:hover span{color:#ff0000}
.empty{border-radius:18px}
.explain summary{color:var(--ink)}
.search-inline{border-radius:999px!important}

/* shared section heading with number badge */
.pg-sec{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:34px 0 12px}
.pg-sec h2{margin:0;font:800 clamp(20px,2vw,26px)/1.2 "Manrope",var(--display);letter-spacing:-.03em}
.pg-sec h2 em{font-style:normal;display:inline-grid;place-items:center;min-width:30px;height:22px;margin-right:10px;padding:0 7px;border-radius:999px;background:#ff0000;color:#fff;font-size:11.5px;vertical-align:4px}
.pg-sec p{margin:4px 0 0;color:var(--ink-3);font-size:13.5px}
.pg-sec a{font-weight:800;font-size:13.5px;color:#ff0000;text-decoration:none;white-space:nowrap}

/* week-ahead agenda cards (calendar) */
.wk{display:grid;gap:12px}
.wk-day{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start}
.wk-date{position:sticky;top:90px;padding:12px;border-radius:18px;background:var(--card);border:1px solid var(--line);text-align:center}
.wk-date small{display:block;font:800 11px "Manrope",var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.wk-date b{display:block;font:800 30px/1.05 "Manrope",var(--display);letter-spacing:-.03em}
.wk-day.is-today .wk-date{background:#ff0000;border-color:#ff0000;color:#fff}
.wk-day.is-today .wk-date small{color:rgba(255,255,255,.85)}
.wk-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.wk-ev{display:grid;gap:10px;padding:14px;border-radius:18px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .2s,box-shadow .35s}
.wk-ev:hover{transform:translateY(-3px);border-color:rgba(255,0,0,.3);box-shadow:0 18px 34px -26px rgba(255,0,0,.55)}
.wk-top{display:flex;align-items:center;gap:10px}
.wk-top b{display:block;font:800 14.5px/1.25 "Manrope",var(--font)}
.wk-top small{display:block;color:var(--ink-3);font-size:12px;font-weight:600}
.wk-kind{margin-left:auto;flex:none;font:800 10.5px "Manrope",var(--font);letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px;color:#fff}
.k-open{background:#16a34a}.k-close{background:#ff0000}.k-allotment{background:#7c3aed}.k-refund,.k-credit{background:#0891b2}.k-listing{background:#ea580c}
.wk-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.wk-facts>span{display:block;padding:8px 10px;border-radius:12px;background:var(--soft)}
.wk-facts b{display:block}
.wk-facts small{display:block;font-size:10.5px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.wk-facts b{font:800 13px "Manrope",var(--font);font-variant-numeric:tabular-nums}
.wk-facts .up{color:#0a9d58}.wk-facts .down{color:#d0241b}

/* six dates explainer */
.six{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;counter-reset:six}
.six div{position:relative;padding:16px 14px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.six div::before{counter-increment:six;content:"T" counter(six);position:absolute;right:12px;top:12px;font:800 11px "Manrope",var(--font);color:var(--ink-3)}
.six i{display:block;width:10px;height:10px;border-radius:50%;margin-bottom:10px}
.six b{display:block;font:800 14px "Manrope",var(--font)}
.six p{margin:6px 0 0;font-size:12.8px;line-height:1.5;color:var(--ink-2)}

/* ranked bars (GMP at a glance, scorecard buckets) */
.rbars{display:grid;gap:9px}
.rb{display:grid;grid-template-columns:minmax(140px,240px) 1fr 92px;gap:12px;align-items:center;text-decoration:none;color:var(--ink)}
.rb span{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;min-width:0}
.rb span em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb i{position:relative;height:12px;border-radius:99px;background:var(--soft);overflow:hidden}
.rb i u{position:absolute;left:0;top:0;bottom:0;width:var(--w);border-radius:99px;background:linear-gradient(90deg,#ff7a59,#ff0000);animation:cbGrow 1.1s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--n,0) * 60ms)}
.rb i u.neg{background:#d0241b}
.rb i u.pos{background:linear-gradient(90deg,#34d399,#0a9d58)}
.rb b{text-align:right;font:800 14px "Manrope",var(--font);font-variant-numeric:tabular-nums}
.rb:hover em{color:#ff0000}

/* big headline number (scorecard) */
.bigq{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.bigq .ring{width:150px;height:150px}
.bigq strong{display:block;font:800 clamp(40px,5vw,64px)/1 "Manrope",var(--display);letter-spacing:-.04em;color:#ff0000}
.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pill-row span{padding:6px 12px;border-radius:999px;background:var(--soft);font-size:12.5px;font-weight:700;color:var(--ink-2)}

/* dot plot */
.dots{width:100%;height:auto;display:block}
.dots circle{opacity:.75;transition:r .2s,opacity .2s}
.dots circle:hover{opacity:1;r:6}
.dots .gl{stroke:var(--line);stroke-dasharray:3 4}
.dots .ax{fill:var(--ink-3);font:600 11px var(--font)}
.dots .eq{stroke:#ff0000;stroke-width:1.5;stroke-dasharray:6 5;opacity:.6}

@media (max-width:1000px){.six{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){
  .six{grid-template-columns:repeat(2,1fr)}
  .wk-day{grid-template-columns:1fr}
  .wk-date{position:static;display:flex;gap:10px;align-items:baseline;text-align:left}
  .wk-date b{font-size:22px}
  .rb{grid-template-columns:120px 1fr 70px;gap:8px}
  .bigq{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.phead::before,.phead::after,.phead h1,.phead .lead,.rb i u{animation:none!important}}

/* fund rotation day chart */
.fr-days{display:flex;align-items:flex-end;gap:4px;height:150px;padding-bottom:22px;position:relative;overflow-x:auto}
.fr-days .fd{flex:1 0 26px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}
.fr-days .fd i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--brand,#2563eb),color-mix(in srgb,var(--brand,#2563eb) 55%,#fff));transform-origin:bottom;animation:fdUp .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--n)*40ms)}
.fr-days .fd.over i{background:linear-gradient(180deg,#dc2626,#f87171)}
.fr-days .fd.peak i{box-shadow:0 0 0 2px color-mix(in srgb,var(--ink,#111) 25%,transparent)}
.fr-days .fd small{position:absolute;bottom:-20px;font-size:10px;color:var(--muted,#6b7280);white-space:nowrap}
@keyframes fdUp{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* page head: side padding (the .app .wrap rule sets it to 0) */
.phead .wrap,.app .phead .wrap{padding-left:clamp(18px,3.2vw,40px)!important;padding-right:clamp(18px,3.2vw,40px)!important}

/* page head as a soft rounded card */
.phead{margin:14px clamp(10px,2vw,24px) 0!important;border:1px solid var(--line)!important;border-radius:20px!important}
/* filter chips right under the page head: give them room */
.phead + .wrap > .chips:first-child,.phead + .wrap > div > .chips:first-child,.phead + section .chips:first-child{margin-top:22px}
.phead + section,.phead + .wrap{padding-top:22px}
/* navbar: Research / Archive dropdowns sit near the right edge, keep them on screen */
.cn-header .nd-research .nd-panel.wide,.cn-header .nd-archive .nd-panel{left:auto;right:0;translate:none}
.cn-header .nd-panel.wide{max-width:calc(100vw - 32px)}
.cn-header .nd-panel .nd-txt{min-width:0}
.cn-header .nd-panel .nd-txt b,.cn-header .nd-panel .nd-txt small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* navbar "Today on the desk" promo: undo the old nav.css circle rule on its text span */
.cn-header .nd-panel .nd-promo{grid-column:1/-1;display:flex!important;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;color:#fff}
.cn-header .nd-panel .nd-promo>span{all:unset;display:flex;flex-direction:column;gap:3px;min-width:0}
.cn-header .nd-panel .nd-promo>span b{font:700 14.5px/1.2 "Manrope",var(--font);color:#fff}
.cn-header .nd-panel .nd-promo>span small{font-size:12.5px;color:rgba(255,255,255,.75)}
.cn-header .nd-panel .nd-promo>.ic{flex:none;width:34px;height:34px;padding:8px;border-radius:50%;background:rgba(255,255,255,.14)}
.cn-header .nd-panel.wide:has(.nd-promo){display:grid}
/* live IPO slider now sits above the footer */
.cn-slider{margin-top:40px}

/* SOFHOUR Finance logo (wide wordmark, 7.85:1) */
.cn-brand img,.nav-brand.cn-brand img{height:28px!important;width:auto!important;max-width:min(240px,52vw);border-radius:0!important;background:none!important;box-shadow:none!important;object-fit:contain}
.drawer .cn-brand img{height:24px!important}
.sf-foot-logo img{height:34px!important;width:auto!important;max-width:100%}
@media (max-width:700px){.cn-brand img,.nav-brand.cn-brand img{height:22px!important}.sf-foot-logo img{height:28px!important}}

/* ===== Footer: the tab-bar gap was added three times (body + footer + bar). Keep it once, on the last bar. ===== */
body{padding-bottom:0!important}
.sf-foot{padding-bottom:0!important}
@media (max-width:900px){.sf-foot-bar-in{padding-bottom:calc(14px + var(--tabbar,0px))!important}}

/* ===== Mobile tab bar: liquid glass ===== */
@media (max-width:900px){
  .tabbar{left:12px!important;right:12px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;padding:7px 6px!important;gap:2px;border-radius:30px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.38))!important;
    -webkit-backdrop-filter:blur(26px) saturate(190%);backdrop-filter:blur(26px) saturate(190%);
    border:1px solid rgba(255,255,255,.7)!important;
    box-shadow:0 18px 40px -18px rgba(15,17,21,.35),0 2px 6px rgba(15,17,21,.06),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(255,255,255,.25)!important;isolation:isolate}
  .tabbar::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
    background:radial-gradient(120% 90% at 20% -10%,rgba(255,255,255,.75),transparent 55%),radial-gradient(90% 80% at 110% 120%,rgba(255,0,0,.07),transparent 60%)}
  .tabbar a,.tabbar button{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:3px 0 2px!important;background:none!important;border-radius:20px;color:#5b6070!important;font:700 10.5px/1 "Manrope",var(--font)!important;letter-spacing:.01em;-webkit-tap-highlight-color:transparent;transition:color .25s}
  .tabbar .tb-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-style:normal;transition:background-color .35s,transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .35s}
  .tabbar .tb-ic .ic{width:21px;height:21px}
  .tabbar a:active .tb-ic,.tabbar button:active .tb-ic{transform:scale(.88)}
  .tabbar .on{color:#e00000!important}
  .tabbar .on .tb-ic{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.9),rgba(255,214,214,.85) 45%,rgba(255,170,170,.55));color:#e00000;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 6px 16px -6px rgba(255,0,0,.45),0 0 0 1px rgba(255,0,0,.12);animation:tbPop .55s cubic-bezier(.34,1.56,.64,1) both}
  .tabbar .on .tb-ic::after{content:"";position:absolute;width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,0,0,.35);animation:tbRing 1.4s ease-out .2s both;pointer-events:none}
  html[data-theme="dark"] .tabbar{background:linear-gradient(180deg,rgba(40,42,48,.62),rgba(20,21,24,.5))!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 18px 40px -16px #000,inset 0 1px 0 rgba(255,255,255,.12)!important}
  html[data-theme="dark"] .tabbar a,html[data-theme="dark"] .tabbar button{color:#a7abb6!important}
  html[data-theme="dark"] .tabbar .on,html[data-theme="dark"] .tabbar .on .tb-ic{color:#ff6b6b!important}
  html[data-theme="dark"] .tabbar .on .tb-ic{background:radial-gradient(circle at 35% 30%,rgba(255,120,120,.35),rgba(255,0,0,.18))}
}
@keyframes tbPop{0%{transform:scale(.6);opacity:.4}100%{transform:scale(1);opacity:1}}
@keyframes tbRing{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.45);opacity:0}}
@media (prefers-reduced-motion:reduce){.tabbar .on .tb-ic,.tabbar .on .tb-ic::after{animation:none}}

/* ===== Live IPO desk (above the footer): solid, light ===== */
.cn-slider{display:none}
.ld{margin:56px 0 0;padding:0 clamp(12px,2.4vw,28px)}
.ld-in{max-width:1320px;margin:0 auto;padding:clamp(18px,2.6vw,30px);border-radius:26px;background:#fff;border:1px solid #ececf0;box-shadow:0 30px 60px -40px rgba(15,17,21,.25)}
html[data-theme="dark"] .ld-in{background:#16181c;border-color:rgba(255,255,255,.08)}
.ld-head{display:flex;align-items:flex-end;gap:18px 28px;flex-wrap:wrap;margin-bottom:18px}
.ld-title{flex:1 1 260px;min-width:0}
.ld-kick{display:inline-flex;align-items:center;gap:8px;padding:5px 11px;border-radius:999px;background:#fff1f1;color:#d00000;font:800 11px/1 "Manrope",var(--font);letter-spacing:.08em;text-transform:uppercase}
.ld-kick i{width:7px;height:7px;border-radius:50%;background:#ff0000;box-shadow:0 0 0 0 rgba(255,0,0,.5);animation:ldPing 1.8s infinite}
@keyframes ldPing{70%{box-shadow:0 0 0 8px rgba(255,0,0,0)}100%{box-shadow:0 0 0 0 rgba(255,0,0,0)}}
.ld-title h2{margin:10px 0 4px;font:800 clamp(22px,2.4vw,30px)/1.1 "Manrope",var(--font);letter-spacing:-.03em;color:var(--ink)}
.ld-title p{margin:0;color:var(--ink-3);font-size:13.5px}
.ld-stats{display:grid;grid-template-columns:repeat(4,minmax(78px,1fr));gap:8px;flex:0 1 auto}
.ld-stats a{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:16px;background:#f6f7f9;text-decoration:none;color:var(--ink);transition:background-color .2s,transform .2s}
.ld-stats a:hover{background:#fff1f1;transform:translateY(-2px)}
.ld-stats b{font:800 22px/1 "Manrope",var(--font);letter-spacing:-.02em}
.ld-stats a:first-child b{color:#e00000}
.ld-stats span{font-size:11.5px;font-weight:700;color:var(--ink-3)}
html[data-theme="dark"] .ld-stats a{background:rgba(255,255,255,.05)}
.ld-ctl{display:flex;gap:8px}
.ld-ctl button{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid #e6e7eb;background:#fff;color:var(--ink);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.ld-ctl button:hover{background:#ff0000;border-color:#ff0000;color:#fff}
.ld-ctl .ic{width:18px;height:18px}
html[data-theme="dark"] .ld-ctl button{background:transparent;border-color:rgba(255,255,255,.15)}
.ld-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(272px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px 2px 6px}
.ld-track::-webkit-scrollbar{display:none}
@media (min-width:1100px){.ld-track{grid-auto-columns:calc((100% - 42px)/4)}}
.ld-card{scroll-snap-align:start;display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:20px;background:#fbfbfc;border:1px solid #eef0f3;text-decoration:none;color:var(--ink);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s}
.ld-card:hover{transform:translateY(-3px);border-color:#ffd3d3;box-shadow:0 16px 30px -20px rgba(255,0,0,.35)}
html[data-theme="dark"] .ld-card{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08)}
.ld-top{display:flex;align-items:center;gap:11px;min-width:0}
.ld-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ld-name b{font:800 15px/1.2 "Manrope",var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ld-name small{font-size:11.5px;color:var(--ink-3);font-weight:600}
.ld-st{flex:none;padding:4px 9px;border-radius:999px;font:800 10.5px/1 "Manrope",var(--font);text-transform:uppercase;letter-spacing:.05em;background:#eef0f3;color:#4b5060}
.st-open .ld-st{background:#e7f8ee;color:#0f8a43}
.st-upcoming .ld-st{background:#eef2ff;color:#3b4fd8}
.st-closed .ld-st{background:#fff4e5;color:#b45309}
.st-listed .ld-st{background:#f1f1f4;color:#4b5060}
.ld-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;border-radius:14px;background:#fff;border:1px solid #f0f1f4}
html[data-theme="dark"] .ld-grid{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.06)}
.ld-grid span{display:flex;flex-direction:column;gap:3px;min-width:0}
.ld-grid small{font-size:10.5px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.ld-grid b{font:800 13.5px/1.2 "Manrope",var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ld-foot{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink-3)}
.ld-foot .ic{width:14px;height:14px}
.ld-foot em{margin-left:auto;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff1f1;color:#e00000;transition:transform .25s}
.ld-card:hover .ld-foot em{transform:translateX(3px)}
@media (max-width:700px){.ld-stats{grid-template-columns:repeat(4,1fr);width:100%}.ld-stats a{padding:9px 8px}.ld-stats b{font-size:18px}.ld-ctl{display:none}.ld-track{grid-auto-columns:84%}}

/* ===== Home hero: deck of open IPOs ===== */
.hm-deck{display:grid;position:relative;z-index:1;width:min(460px,100%)}
.hm-deck>.hm-device{grid-area:1/1;width:100%;opacity:0;visibility:hidden;transform:translateX(26px) scale(.97);transition:opacity .55s ease,transform .6s cubic-bezier(.22,1,.36,1),visibility 0s .6s}
.hm-deck>.hm-device.on{opacity:1;visibility:visible;transform:none;transition:opacity .55s ease,transform .6s cubic-bezier(.22,1,.36,1),visibility 0s}
.hm-dots{position:relative;z-index:2;display:flex;justify-content:center;gap:7px;margin-top:14px}
.hm-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(15,17,21,.18);cursor:pointer;transition:width .35s,background-color .35s}
.hm-dots button.on{width:26px;background:#ff0000}
html[data-theme="dark"] .hm-dots button{background:rgba(255,255,255,.2)}
.hm-stage{flex-direction:column}

/* ===== Auth close button (top right of the card) ===== */
.auth-card{position:relative}
.auth-x{position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#f4f5f7;color:#3a3f4b;text-decoration:none;font-size:15px;font-weight:700;line-height:1;transition:background-color .2s,color .2s,transform .3s}
.auth-x:hover{background:#ff0000;color:#fff;transform:rotate(90deg)}
html[data-theme="dark"] .auth-x{background:rgba(255,255,255,.08);color:#e5e7eb}
.auth-card h1{padding-right:48px}

/* ===== Smooth scrolling: no fixed background (forces repaint on every scroll), lazy-render lower home sections ===== */
body{background-attachment:scroll!important}
.page-home .lsec,.page-home .finale{content-visibility:auto;contain-intrinsic-size:auto 900px}
.rv-pre{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,1,.36,1) var(--rv-d,0ms),transform .7s cubic-bezier(.22,1,.36,1) var(--rv-d,0ms);will-change:opacity,transform}
.rv-pre.rv-in{opacity:1;transform:none}

/* ===== Home hero: live IPO copy that changes with the deck ===== */
.hm-kicker{margin:18px 0 0;font:700 13px/1.4 "Manrope",var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.hm-copydeck{display:grid;margin-top:6px}
.hm-cp{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1),visibility 0s .5s}
.hm-cp.on{opacity:1;visibility:visible;transform:none;transition:opacity .5s ease,transform .6s cubic-bezier(.22,1,.36,1),visibility 0s}
.hm-cp .hm-w{animation:none;opacity:0;transform:translateY(.45em)}
.hm-cp.on .hm-w{animation:hmRise .8s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--d,0ms)}
.hm-cp-tag{display:flex;align-items:center;gap:10px;margin:14px 0 0;font:700 13px/1 "Manrope",var(--font);color:var(--ink-3)}
.hm-cp-tag .st{padding:5px 10px;border-radius:999px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:#eef0f3;color:#4b5060}
.hm-cp-tag .st-open{background:#e7f8ee;color:#0f8a43}.hm-cp-tag .st-upcoming{background:#eef2ff;color:#3b4fd8}.hm-cp-tag .st-closed{background:#fff4e5;color:#b45309}
.hm-cp-name{margin:14px 0 18px!important;font-size:clamp(32px,4.6vw,62px)!important;line-height:1.02!important}
.hm-cp-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:620px}
.hm-cp-facts span{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.75);border:1px solid #eceef2;opacity:0;transform:translateY(10px)}
.hm-cp.on .hm-cp-facts span{animation:hmRise .7s cubic-bezier(.22,1,.36,1) both}
.hm-cp.on .hm-cp-facts span:nth-child(2){animation-delay:.08s}.hm-cp.on .hm-cp-facts span:nth-child(3){animation-delay:.16s}.hm-cp.on .hm-cp-facts span:nth-child(4){animation-delay:.24s}
.hm-cp-facts small{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
.hm-cp-facts b{font:800 15px/1.2 "Manrope",var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme="dark"] .hm-cp-facts span{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
.hm-cp .hm-lead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 0;font-size:15px}
.hm-cp .hm-lead .ic{width:16px;height:16px;color:#e00000}
.hm-cp .hm-cta{margin-top:20px}
@media (max-width:700px){.hm-cp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-cp-name{font-size:clamp(28px,8vw,40px)!important}}
@media (prefers-reduced-motion:reduce){.hm-cp,.hm-cp .hm-w,.hm-cp-facts span{transition:none;animation:none!important;opacity:1;transform:none}.hm-cp:not(.on){opacity:0}}

/* ===== Live desk on the home page ===== */
.page-home .ld{margin:34px 0 10px}

/* ===== Footer: two columns, links laid out in two rows each ===== */
.sf-foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (min-width:560px){.sf-foot-col{display:grid!important;grid-template-columns:1fr 1fr;column-gap:22px;align-content:start}.sf-foot-col>p{grid-column:1/-1}}

/* ===== Mobile tab bar: slimmer ===== */
@media (max-width:900px){
  :root{--tabbar:70px}
  .tabbar{left:50%!important;right:auto!important;transform:translateX(-50%);width:min(360px,calc(100% - 32px));padding:5px 6px!important;border-radius:26px!important}
  .tabbar a,.tabbar button{font-size:9.5px!important;gap:1px;padding:2px 0 1px!important}
  .tabbar .tb-ic{width:34px;height:34px}
  .tabbar .tb-ic .ic{width:18px;height:18px}
  .tabbar .on .tb-ic::after{width:34px;height:34px}
}

/* ===== Log in / Sign up popup ===== */
.auth-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px}
.am-scrim{position:absolute;inset:0;background:rgba(10,11,14,.42);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .25s}
.am-card{position:relative;width:min(480px,100%);max-height:90vh;border-radius:26px;background:#fff;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.5);opacity:0;transform:translateY(18px) scale(.97);transition:opacity .28s,transform .35s cubic-bezier(.22,1,.36,1)}
html[data-theme="dark"] .am-card{background:#16181c}
.auth-modal.open .am-scrim{opacity:1}
.auth-modal.open .am-card{opacity:1;transform:none}
.am-card iframe{display:block;width:100%;height:560px;max-height:88vh;border:0;background:transparent;opacity:0;transition:opacity .25s}
.auth-modal.ready iframe{opacity:1}
.am-x{position:absolute;top:12px;right:12px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:#f4f5f7;color:#3a3f4b;font-size:15px;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s,transform .3s}
.am-x:hover{background:#ff0000;color:#fff;transform:rotate(90deg)}
.am-load{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.am-load i{width:28px;height:28px;border-radius:50%;border:3px solid #ffd6d6;border-top-color:#ff0000;animation:amSpin .8s linear infinite}
.auth-modal.ready .am-load{display:none}
@keyframes amSpin{to{transform:rotate(360deg)}}
html.auth-modal-open,html.auth-modal-open body{overflow:hidden}
/* inside the popup: just the form */
html.is-embed body{background:transparent!important;padding:0!important;min-height:0}
html.is-embed .cn-header,html.is-embed .cn-top,html.is-embed .cn-promo,html.is-embed footer.sf-foot,html.is-embed .tabbar,html.is-embed .drawer,html.is-embed .toast-card,html.is-embed .alert-ask,html.is-embed .auth-side,html.is-embed .auth-x,html.is-embed .phead{display:none!important}
html.is-embed .auth{display:block!important;padding:0!important;margin:0!important;min-height:0!important}
html.is-embed .auth-card{margin:0!important;max-width:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:28px 24px!important}
html.is-embed #main,html.is-embed .app{padding:0!important;margin:0!important}

/* ===== IPO alerts prompt ===== */
.alert-ask{position:fixed;z-index:150;left:50%;bottom:calc(var(--tabbar,0px) + 22px);transform:translate(-50%,24px);opacity:0;display:flex;align-items:center;gap:12px;width:min(440px,calc(100% - 24px));padding:12px 12px 12px 14px;border-radius:20px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.8);box-shadow:0 24px 50px -20px rgba(0,0,0,.35);transition:opacity .3s,transform .45s cubic-bezier(.22,1,.36,1)}
.alert-ask.show{opacity:1;transform:translate(-50%,0)}
.alert-ask .aa-ic{font-size:22px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#fff1f1;flex:none}
.alert-ask div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.alert-ask b{font:800 14px "Manrope",var(--font);color:var(--ink)}
.alert-ask small{font-size:12px;color:var(--ink-3)}
.alert-ask .aa-yes{flex:none;padding:9px 16px;border:0;border-radius:999px;background:#ff0000;color:#fff;font:800 13px "Manrope",var(--font);cursor:pointer}
.alert-ask .aa-no{flex:none;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--ink-3);cursor:pointer}
html[data-theme="dark"] .alert-ask{background:rgba(28,30,34,.9);border-color:rgba(255,255,255,.1)}
.alerts-on{margin:4px 0 12px;display:flex;align-items:center;justify-content:center;gap:8px}

/* ===== Footer: three columns, every text with a fixed readable colour on the dark footer ===== */
.sf-foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:30px 26px!important}
.sf-foot-col{display:flex!important;flex-direction:column;gap:2px}
.sf-foot-col>p{color:#fff!important;opacity:1!important;margin:0 0 12px!important}
.sf-foot-col a,.sf-foot-col a span{color:#b9bdc7!important;opacity:1!important}
.sf-foot-col a:hover,.sf-foot-col a:hover span{color:#fff!important}
.sf-foot,.sf-foot-main,.sf-foot-brand p,.sf-foot-legal{opacity:1!important;transform:none!important}
.sf-foot-brand p,.sf-foot-legal p,.sf-foot-bar p,.sf-foot-bar a{color:#a9adb6!important}
@media (max-width:700px){.sf-foot-cols{grid-template-columns:1fr 1fr!important}.sf-foot-col:last-child{grid-column:1/-1}}

/* ===== Back to top ===== */
.to-top{position:fixed;z-index:60;right:20px;bottom:24px;width:50px;height:50px;display:grid;place-items:center;padding:0;border-radius:50%;cursor:pointer;color:#e00000;
  background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.85);
  box-shadow:0 14px 30px -12px rgba(15,17,21,.35),inset 0 1px 0 #fff;opacity:0;visibility:hidden;transform:translateY(16px) scale(.85);
  transition:opacity .3s,transform .4s cubic-bezier(.34,1.56,.64,1),visibility 0s .3s,background-color .2s,color .2s}
.to-top.show{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .4s cubic-bezier(.34,1.56,.64,1),visibility 0s,background-color .2s,color .2s}
.to-top:hover{background:#ff0000;color:#fff}
.to-top:hover .ic{animation:ttUp .6s ease-in-out infinite alternate}
.to-top .ic{width:20px;height:20px;position:relative}
.to-top .tt-ring{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);transform:rotate(-90deg)}
.to-top .tt-ring circle{fill:none;stroke-width:2.5;stroke:rgba(255,0,0,.12)}
.to-top .tt-ring .tt-prog{stroke:#ff0000;stroke-linecap:round;transition:stroke-dashoffset .1s linear}
.to-top:hover .tt-ring .tt-prog{stroke:#fff}
html[data-theme="dark"] .to-top{background:rgba(30,32,36,.75);border-color:rgba(255,255,255,.12);color:#ff6b6b;box-shadow:0 14px 30px -12px #000}
@keyframes ttUp{from{transform:translateY(2px)}to{transform:translateY(-3px)}}
@media (max-width:900px){.to-top{right:14px;bottom:calc(var(--tabbar,0px) + 18px);width:44px;height:44px}}
html.is-embed .to-top{display:none}

/* ===== Today: charts ===== */
.tc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
@media (max-width:900px){.tc-grid{grid-template-columns:1fr}}
.tc-card h3{margin:0 0 4px;font:800 17px "Manrope",var(--font);letter-spacing:-.01em}
.tc-card .note{margin:0 0 14px}
.sr-list{display:grid;gap:12px}
.sr-row{display:grid;grid-template-columns:minmax(120px,190px) 1fr 58px;align-items:center;gap:12px;text-decoration:none;color:var(--ink);padding:4px 6px;border-radius:12px;transition:background-color .2s}
.sr-row:hover{background:var(--soft,#f4f5f7)}
.sr-name{display:flex;align-items:center;gap:8px;min-width:0}
.sr-name em{font-style:normal;font-weight:800;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr-name small{display:none}
.sr-bars{display:grid;gap:3px}
.sr-bars i{display:block;height:7px;border-radius:99px;background:var(--soft,#f1f2f5);overflow:hidden}
.sr-bars i u{display:block;height:100%;width:var(--w);border-radius:inherit;transform-origin:left;animation:srGrow 1.1s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--n,0)*90ms)}
.sr-bars .q u,.sr-key .q::before{background:#2563eb}.sr-bars .n u,.sr-key .n::before{background:#f59e0b}.sr-bars .r u,.sr-key .r::before{background:#ff0000}.sr-bars .t u,.sr-key .t::before{background:#64748b}
.sr-bars .t{height:10px}
.sr-row>b{text-align:right;font:800 15px "Manrope",var(--font);font-variant-numeric:tabular-nums}
.sr-key{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0 0;font-size:12px;font-weight:700;color:var(--ink-3)}
.sr-key span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
@keyframes srGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rb em a{color:inherit;text-decoration:none}
/* vertical listing bars */
.vb{position:relative;display:flex;align-items:stretch;gap:4px;height:220px;padding:6px 0}
.vb-zero{position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--line,#e5e7eb)}
.vb-col{position:relative;flex:1;min-width:8px;display:block;text-decoration:none}
.vb-col i{position:absolute;left:12%;right:12%;border-radius:5px;height:var(--h);animation:vbUp .9s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--n,0)*35ms)}
.vb-col.pos i{bottom:50%;background:linear-gradient(180deg,#34d399,#0a9d58);transform-origin:bottom}
.vb-col.neg i{top:50%;background:linear-gradient(180deg,#ff3b30,#c81e1e);transform-origin:top}
.vb-col span{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%,6px);opacity:0;pointer-events:none;white-space:nowrap;z-index:3;padding:6px 9px;border-radius:9px;background:#111317;color:#fff;font-size:12px;font-weight:700;transition:opacity .15s,transform .15s}
.vb-col:hover span,.vb-col:focus span{opacity:1;transform:translate(-50%,0)}
.vb-col:hover i{filter:brightness(1.1)}
@keyframes vbUp{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.vb-leg{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0 0;font-size:12.5px;font-weight:700;color:var(--ink-3)}
.vb-leg .pos{color:#0a9d58}.vb-leg .neg{color:#d0241b}

/* ===== Today: the week ahead ===== */
.wa{display:grid;gap:10px;margin-bottom:8px}
.wa-day{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:start;padding:12px 14px;border-radius:18px;background:var(--card,#fff);border:1px solid var(--line,#eceef2)}
.wa-day.today{border-color:rgba(255,0,0,.35);box-shadow:0 0 0 3px rgba(255,0,0,.06)}
.wa-date{display:flex;align-items:center;gap:8px}
.wa-date b{font:800 28px/1 "Manrope",var(--font);letter-spacing:-.03em}
.wa-date span{display:flex;flex-direction:column;font-size:12px;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.wa-day.today .wa-date b,.wa-day.today .wa-date span{color:#e00000}
.wa-evs{display:flex;flex-wrap:wrap;gap:8px}
.wa-ev{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:999px;background:var(--soft,#f4f5f7);text-decoration:none;color:var(--ink);font-size:13px;font-weight:700;transition:transform .2s,background-color .2s}
.wa-ev:hover{transform:translateY(-2px)}
.wa-ev em{font-style:normal;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-ev span{padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.wa-ev.open span{background:#e7f8ee;color:#0f8a43}.wa-ev.close span{background:#ffe9e9;color:#d00000}.wa-ev.allot span{background:#f3e8ff;color:#7e22ce}.wa-ev.refund span{background:#fff4e5;color:#b45309}.wa-ev.list span{background:#eef2ff;color:#3b4fd8}
html[data-theme="dark"] .wa-ev{background:rgba(255,255,255,.05)}

/* ===== Today: digests ===== */
.dg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
@media (max-width:700px){.dg{grid-template-columns:1fr}}
.dg-item{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:14px 16px;border-radius:16px;background:var(--card,#fff);border:1px solid var(--line,#eceef2);text-decoration:none;color:var(--ink);transition:transform .25s,border-color .25s}
.dg-item:hover{transform:translateY(-2px);border-color:#ffc9c9}
.dg-item small{grid-column:1;font-size:11.5px;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.dg-item b{grid-column:1;font:700 14.5px/1.35 "Manrope",var(--font)}
.dg-item .ic{grid-column:2;grid-row:1/3;width:18px;height:18px;color:#e00000}
@media (prefers-reduced-motion:reduce){.sr-bars i u,.vb-col i{animation:none}}
