/* The Signal — a broadsheet front page navigated by a radio dial.
   Stations are the summarised stories; the wire below is the static.
   Everything is namespaced sg- so the shared desk stylesheet stays untouched. */
:root{
  --ind:var(--gold);--ind2:var(--mari);--card:var(--panel);--card2:var(--head);--body:var(--mut);
  --up:var(--lime);--down:var(--coral);--cream:var(--mari);--hair:color-mix(in srgb,var(--gold) 15%,transparent);
  --snap:cubic-bezier(.2,.9,.1,1);--pop:cubic-bezier(.34,1.56,.64,1);--ease:cubic-bezier(.5,0,.2,1)
}

/* ---------- header XP pill (as on Sectors and League) ---------- */
.hdr .xp{display:flex;align-items:center;gap:10px;margin-right:6px}
.hdr .lv{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--ind);color:var(--onacc);line-height:1;flex:none;transition:transform .45s var(--pop)}
.hdr .lv small{font-size:8.5px;font-weight:800;letter-spacing:.08em;opacity:.75;margin-bottom:-6px}
.hdr .lv b{font:800 18px "Fraunces",serif}
.hdr .meter{display:flex;flex-direction:column;gap:5px;min-width:0}
.hdr .mt{font-size:11.5px;color:var(--dim);font-weight:600;white-space:nowrap}
.hdr .mt b{color:var(--ink)}
.hdr .mbar{position:relative;width:120px;height:9px;border-radius:5px;background:var(--line);overflow:hidden}
.hdr .mbar i{position:absolute;inset:0 auto 0 0;width:0;border-radius:5px;background:linear-gradient(90deg,var(--ind),var(--ind2));transition:width .8s var(--pop)}
.hdr .mbar i::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-100%)}
.hdr .xp.bump .mbar i::after{animation:sg-shine .9s ease-out}
.hdr .xp.bump .lv{transform:scale(1.18) rotate(-6deg)}
@keyframes sg-shine{to{transform:translateX(100%)}}
.hdr .streak{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:99px;background:var(--line);font-size:13px;font-weight:700;white-space:nowrap;transition:background .3s,color .3s}
.hdr .streak .ic{width:13px;height:13px}
.hdr .streak.zero{display:none}
.hdr .streak.hot{background:var(--down);color:var(--onacc)}
@media(max-width:1440px){.hdr .meter{display:none}.hdr .streak .lbl{display:none}}
@media(max-width:1180px){.hdr .srch{width:150px}}
@media(max-width:600px){.hdr .xp{gap:7px}.hdr .lv{width:30px;height:30px}.hdr .lv b{font-size:16px}}

/* the shared ticker track is wider than the page; keep it inside the tape */
.signal-page .tape{overflow:hidden}
/* stamps start scaled up before they land; never let that widen the page */
html:has(body.signal-page),body.signal-page{overflow-x:clip}

/* ---------- atoms ---------- */
.sg-page{padding-top:56px}
.sg-page .n,.sg-page .tn{font-variant-numeric:tabular-nums}
.sg-rule{height:0;border-top:1px solid var(--ink)}
.sg-rule.thick{border-top-width:3px}
.sg-rule.hair{border-top-color:var(--line)}
.sg-fig{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.sg-up{color:var(--up)}.sg-dn{color:var(--down)}.sg-fl{color:var(--dim)}
.sg-rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--snap),transform .8s var(--snap)}
.sg-rv.in{opacity:1;transform:none}
.sg-fly{position:fixed;left:0;top:0;z-index:300;padding:5px 11px;border-radius:99px;background:var(--ind);color:var(--onacc);font:800 13px Figtree,sans-serif;pointer-events:none;box-shadow:var(--shadow)}
.sg-bit{position:fixed;left:0;top:0;z-index:299;width:7px;height:7px;border-radius:2px;pointer-events:none}
.sg-toast{position:fixed;left:50%;bottom:28px;z-index:300;transform:translate(-50%,20px);opacity:0;padding:11px 18px;border-radius:12px;background:var(--ink);color:var(--bg);font-size:14px;font-weight:600;box-shadow:var(--shadow);transition:opacity .25s,transform .4s var(--pop);pointer-events:none}
.sg-toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- masthead ---------- */
.sg-mast{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.sg-mast b{color:var(--ink);font-weight:700}
.sg-pulse{display:inline-flex;align-items:flex-end;gap:3px;height:14px;margin-right:10px;vertical-align:-2px}
.sg-pulse i{width:3px;background:var(--ind);border-radius:1px;transform-origin:bottom;animation:sg-pulse 1.6s var(--ease) infinite}
.sg-pulse i:nth-child(1){height:35%}.sg-pulse i:nth-child(2){height:60%;animation-delay:.12s}.sg-pulse i:nth-child(3){height:100%;animation-delay:.24s}.sg-pulse i:nth-child(4){height:70%;animation-delay:.36s}.sg-pulse i:nth-child(5){height:45%;animation-delay:.48s}
@keyframes sg-pulse{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.35)}}
.sg-title{font-size:clamp(76px,14.2vw,196px);line-height:.84;letter-spacing:-.055em;font-weight:600;padding:20px 0 26px;margin:0;animation:sg-rise .9s var(--snap) both}
.sg-title em{display:inline-block;font-style:italic;font-weight:500;color:var(--ind);animation:sg-rise .9s .08s var(--snap) both}
@keyframes sg-rise{from{opacity:0;transform:translateY(.25em)}}
.sg-strap{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;padding:18px 0 22px}
.sg-strap p{margin:0;font:400 clamp(19px,2vw,24px)/1.35 "Fraunces",serif;color:var(--body);max-width:40ch}
.sg-idx{display:flex;align-items:baseline;gap:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
.sg-idx small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--dim)}
.sg-idx b{font:600 30px "Fraunces",serif;letter-spacing:-.02em}
.sg-idx span{font-weight:700;font-size:15px}

/* ---------- the radio: inverted surface in both themes ---------- */
.sg-radio{--r-bg:var(--ink);--r-fg:var(--bg);--r-dim:color-mix(in srgb,var(--bg) 55%,var(--ink));--r-line:color-mix(in srgb,var(--bg) 16%,var(--ink));
  position:relative;margin:40px 0 8px;border-radius:26px;background:var(--r-bg);color:var(--r-fg);padding:24px 34px 26px;box-shadow:var(--shadow);overflow:hidden}
.sg-radio::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--r-line) 1px,transparent 1px),linear-gradient(90deg,var(--r-line) 1px,transparent 1px);background-size:28px 28px;opacity:.35;pointer-events:none}
.sg-r-head{position:relative;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--r-dim)}
.sg-live{display:inline-flex;align-items:center;gap:8px;color:var(--ind2);white-space:nowrap}
.sg-live i{width:7px;height:7px;border-radius:50%;background:var(--ind2);animation:sg-blink 1.4s ease-in-out infinite}
.sg-r-head.static .sg-live{color:var(--r-dim)}.sg-r-head.static .sg-live i{background:var(--r-dim);animation:none}
@keyframes sg-blink{50%{opacity:.25}}
.sg-r-head b{color:var(--r-fg)}
.sg-cnt b{color:var(--ind2)}
.sg-scope{position:relative;display:block;width:100%;height:76px;margin:14px 0 4px}
.sg-band{position:relative;height:138px;margin:0 6px;touch-action:none;cursor:ew-resize;outline:none}
.sg-band:focus-visible{box-shadow:0 0 0 2px var(--ind2);border-radius:10px}
.sg-lane{position:absolute;left:0;right:0;height:52px}
.sg-lane.pk{top:0}.sg-lane.gl{bottom:0}
.sg-lane>small{position:absolute;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--r-dim)}
.sg-lane.pk>small{top:-2px;right:0}.sg-lane.gl>small{bottom:-2px;left:-2px}
.sg-axis{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--r-line)}
.sg-ticks{position:absolute;left:0;right:0;top:50%;height:30px;transform:translateY(-50%);pointer-events:none}
.sg-ticks i{position:absolute;bottom:50%;width:1px;background:var(--r-dim);opacity:.35}
.sg-ticks i.mj{opacity:.6}.sg-ticks i.dn{top:50%;bottom:auto;opacity:.55}
.sg-stn{position:absolute;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--r-dim);font:800 11.5px Figtree,sans-serif;letter-spacing:.08em;white-space:nowrap;cursor:pointer;transition:color .25s}
.sg-lane.pk .sg-stn{bottom:6px}.sg-lane.gl .sg-stn{top:6px;flex-direction:column-reverse}
.sg-stn i{width:12px;height:12px;border-radius:50%;border:2px solid currentColor;transition:transform .35s var(--pop),background .25s}
.sg-stn .ls{display:none}
.sg-stn:hover,.sg-stn.on{color:var(--r-fg)}
.sg-stn.on i{background:var(--ind2);border-color:var(--ind2);transform:scale(1.35);box-shadow:0 0 0 6px color-mix(in srgb,var(--ind2) 25%,transparent)}
.sg-stn.logged{color:color-mix(in srgb,var(--up) 70%,var(--r-fg))}
.sg-stn.logged i{background:currentColor}
.sg-stn.owned i{outline:2px solid var(--ind2);outline-offset:3px}
.sg-needle{position:absolute;top:-10px;bottom:-10px;left:0;width:2px;margin-left:-1px;background:var(--ind2);box-shadow:0 0 18px 2px color-mix(in srgb,var(--ind2) 55%,transparent);pointer-events:none;transition:left .55s var(--snap)}
.sg-needle.drag{transition:none}
.sg-needle::before,.sg-needle::after{content:"";position:absolute;left:50%;width:14px;height:14px;margin-left:-7px;background:var(--ind2);clip-path:polygon(0 0,100% 0,50% 100%)}
.sg-needle::before{top:-4px}.sg-needle::after{bottom:-4px;transform:rotate(180deg)}
.sg-r-foot{position:relative;display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:16px;font-size:13px;color:var(--r-dim)}
.sg-r-foot kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;margin:0 2px;border:1px solid var(--r-line);border-radius:5px;font:700 11px Figtree,sans-serif;color:var(--r-fg)}
.sg-logs{display:flex;gap:6px;align-items:center}
.sg-logs i{width:16px;height:6px;border-radius:3px;background:var(--r-line);transition:background .3s}
.sg-logs i.on{background:var(--up)}
.sg-logs span{margin-left:8px;font-weight:700;color:var(--r-fg)}

/* docked mini dial, once the radio scrolls away */
.sg-dock{position:fixed;left:0;right:0;top:var(--sg-hh,61px);z-index:39;background:color-mix(in srgb,var(--ink) 95%,transparent);color:var(--bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(0,0,0,.12);
  transform:translateY(calc(-100% - var(--sg-hh,61px) - 20px));visibility:hidden;transition:transform .5s var(--snap),visibility 0s .5s}
.sg-dock.on{transform:none;visibility:visible;transition:transform .5s var(--snap),visibility 0s}
.sg-dock-in{display:flex;align-items:center;gap:22px;height:48px}
.sg-dock-now{flex:none;width:200px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--bg) 55%,var(--ink));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-dock-now b{color:var(--ind2)}
.sg-dock-now span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.sg-dock-band{position:relative;flex:1;height:100%;cursor:pointer}
.sg-dock-band::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:color-mix(in srgb,var(--bg) 22%,var(--ink))}
.sg-dock-band button{position:absolute;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;padding:6px;border:0;background:none;color:color-mix(in srgb,var(--bg) 55%,var(--ink));font:800 10.5px Figtree,sans-serif;letter-spacing:.06em;cursor:pointer}
.sg-dock-band button i{width:9px;height:9px;border-radius:50%;border:1.5px solid currentColor;flex:none}
.sg-dock-band button span{position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:-4px;opacity:0;transition:opacity .2s;white-space:nowrap}
.sg-dock-band button:hover span,.sg-dock-band button.on span{opacity:1}
.sg-dock-band button.on{color:var(--bg)}.sg-dock-band button.on i{background:var(--ind2);border-color:var(--ind2)}
.sg-dock-band button.logged{color:color-mix(in srgb,var(--up) 70%,var(--bg))}.sg-dock-band button.logged i{background:currentColor}
.sg-dock-needle{position:absolute;top:6px;height:19px;width:2px;margin-left:-1px;background:var(--ind2);box-shadow:0 0 12px 1px color-mix(in srgb,var(--ind2) 55%,transparent);transition:left .55s var(--snap);pointer-events:none}
.sg-dock-band.static .sg-dock-needle{opacity:.35}

/* ---------- stories ---------- */
.sg-story{position:relative;scroll-margin-top:150px}
.sg-tuned{animation:sg-tuned 1.6s var(--ease);border-radius:6px}
@keyframes sg-tuned{20%{box-shadow:0 0 0 14px color-mix(in srgb,var(--ind) 14%,transparent);background:color-mix(in srgb,var(--ind) 7%,transparent)}100%{box-shadow:0 0 0 22px transparent;background:transparent}}
.sg-kick{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.sg-kick .cat{color:var(--ind)}
.sg-kick .own{color:var(--onacc);background:var(--ind);padding:2px 8px;border-radius:99px;letter-spacing:.1em}
.sg-kick .no{font:600 13px "Fraunces",serif;letter-spacing:0;color:var(--ink)}
.sg-story h3{margin:14px 0 0;font-size:clamp(23px,2.1vw,28px);line-height:1.08;letter-spacing:-.025em;padding-right:70px}
.sg-figblock{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:20px 0 4px}
.sg-bigfig{font:600 clamp(40px,3.6vw,54px)/.92 "Fraunces",serif;letter-spacing:-.035em;color:var(--ind);font-variant-numeric:lining-nums}
.sg-mv{font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}
.sg-pts{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid var(--line)}
.sg-pts li{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.sg-pts li[hidden]{display:none}
.sg-pts b{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding-top:4px}
.sg-pts p{margin:0;font-size:15.5px;line-height:1.55;color:var(--body);max-width:62ch}
.sg-pills{display:flex;flex-wrap:wrap;gap:6px}
.sg-pill{display:inline-flex;align-items:center;padding:3px 11px;border:1px solid var(--line);border-radius:99px;background:var(--card);font-size:12.5px;font-weight:800;letter-spacing:.04em;color:var(--ink);text-decoration:none;transition:border-color .15s,color .15s,transform .25s var(--pop)}
.sg-pill:hover{border-color:var(--ind);color:var(--ind);transform:translateY(-1px)}
.sg-acts{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin-top:20px}
.sg-got{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:99px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font:700 14px Figtree,sans-serif;cursor:pointer;transition:transform .3s var(--pop),background .2s,color .2s,border-color .2s}
.sg-got:hover{transform:translateY(-2px)}
.sg-got small{font-weight:800;font-size:11.5px;opacity:.7}
.sg-got[aria-pressed="true"]{background:transparent;color:var(--up);border-color:color-mix(in srgb,var(--up) 50%,var(--line))}
.sg-src{font-size:14px;font-weight:600;color:var(--dim);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:1px;transition:color .15s,border-color .15s}
.sg-src:hover{color:var(--ind);border-color:var(--ind)}
.sg-note{font-size:12.5px;color:var(--dim);margin:10px 0 0}
.sg-same{margin-top:14px;padding:12px 14px;border-left:2px solid var(--ind);background:color-mix(in srgb,var(--card) 60%,transparent);font-size:13.5px;color:var(--body)}
.sg-same small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ind);margin-bottom:3px}
.sg-same a{color:var(--ink);text-decoration:none;font:500 15.5px/1.35 "Fraunces",serif}
.sg-same a:hover{color:var(--ind)}

/* the stamp */
.sg-stamp{position:absolute;top:-6px;right:0;width:64px;height:64px;display:grid;place-items:center;border:2.5px solid var(--up);border-radius:50%;color:var(--up);font:800 9.5px/1.1 Figtree,sans-serif;letter-spacing:.18em;text-transform:uppercase;transform:rotate(-14deg) scale(2.2);opacity:0;pointer-events:none;mix-blend-mode:multiply}
:root[data-theme="dark"] .sg-stamp{mix-blend-mode:screen}
.sg-stamp::before{content:"";position:absolute;inset:5px;border:1px solid currentColor;border-radius:50%;opacity:.6}
.is-read .sg-stamp{opacity:.9;transform:rotate(-14deg) scale(1);transition:transform .45s var(--pop),opacity .2s}

/* EPS impact (rules and copy from shared/signal-eps.js) */
.sg-eps{margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.sg-eps-k{margin:0;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ind)}
.sg-eps-v{margin:6px 0 0;font:600 17px/1.3 "Fraunces",serif;color:var(--ink)}
.sg-eps-a{margin:4px 0 0;font-size:13.5px;color:var(--body)}
.sg-eps details{margin-top:8px;font-size:13px;color:var(--body)}
.sg-eps summary{cursor:pointer;font-weight:700;color:var(--ink);font-size:13px}
.sg-eps summary:hover{color:var(--ind)}
.sg-eps details p{margin:8px 0 0;line-height:1.5}
.sg-eps ul{margin:8px 0 0;padding-left:18px}
.sg-eps li{margin:4px 0}
.sg-eps li small,.sg-eps td small{display:block;color:var(--dim);font-size:11.5px}
.sg-eps-formula{font-family:ui-monospace,Menlo,monospace;font-size:12px;background:var(--card2);padding:8px 10px;border-radius:8px;overflow-x:auto}
.sg-eps-table{margin-top:8px;max-width:100%;overflow-x:auto}
.sg-eps table{border-collapse:collapse;width:100%;font-size:12.5px}
.sg-eps th,.sg-eps td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.sg-eps th{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.sg-eps-caveat{color:var(--dim);font-size:12px}
.sg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* lead */
.sg-lead{padding:48px 0 56px;max-width:880px}
.sg-lead .sg-stamp{top:44px;width:84px;height:84px;font-size:12px}
.sg-lead .sg-kick{padding-right:100px}
.sg-lead h3{font-size:clamp(38px,4.8vw,68px);line-height:.98;letter-spacing:-.035em;margin-top:18px;max-width:16ch;padding-right:0}
.sg-lead .sg-bigfig{font-size:clamp(46px,6vw,86px)}
.sg-lead .sg-pts li{grid-template-columns:132px 1fr;padding:14px 0}
.sg-lead .sg-pts p{font-size:16.5px}

/* section heads */
.sg-sec{margin-top:88px}
.sg-shead{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:14px 0 0}
.sg-shead h2{margin:0;font-size:clamp(30px,3.4vw,44px);letter-spacing:-.03em}
.sg-shead h2 em{font-style:italic;font-weight:500;color:var(--ind)}
.sg-shead p{margin:0;font-size:14px;color:var(--dim);max-width:44ch;text-align:right}

/* Pakistan desk: newspaper columns that unfold */
/* Pakistan stories continue the front page under the lead, no section break */
.sg-pk{border-top:1px solid var(--line);padding-top:8px}
.sg-pk[hidden]{display:none}
.sg-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}
.sg-col{padding:6px 32px 8px;border-left:1px solid var(--line)}
.sg-col:first-child{border-left:0;padding-left:0}.sg-col:last-child{padding-right:0}
.sg-lede{margin:14px 0 0;font-size:16px;line-height:1.55;color:var(--body)}
.sg-fold{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--snap)}
.sg-fold>div{overflow:hidden}
.sg-col.open .sg-fold{grid-template-rows:1fr}
.sg-world-story.open .sg-fold{grid-template-rows:1fr}
.sg-col .sg-pts li{grid-template-columns:1fr;gap:4px}
.sg-world-story .sg-pts li{grid-template-columns:1fr;gap:4px}
.sg-unfold{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:0;border:0;background:none;font:700 14px Figtree,sans-serif;color:var(--ink);cursor:pointer}
.sg-unfold i{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--ink);font-style:normal;transition:transform .4s var(--pop),background .2s,color .2s}
.sg-unfold:hover i{background:var(--ink);color:var(--bg)}
.sg-col.open .sg-unfold i{transform:rotate(45deg)}
.sg-world-story.open .sg-unfold i{transform:rotate(45deg)}
.sg-unfold small{font-weight:800;color:var(--ind);font-size:11.5px}
.sg-unfold small:empty{display:none}

/* From the world: one tier, two equal columns */
.sg-world{display:grid;grid-template-columns:repeat(var(--sg-n,2),minmax(0,1fr));gap:48px;margin-top:28px}
.sg-world .sg-story+.sg-story{border-left:1px solid var(--line);padding-left:40px}

/* the wire: companies ranked by today's move, everything else grouped by topic */
.sg-wire{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;margin-top:30px}
.sg-wire.one{grid-template-columns:minmax(0,1fr)}
.sg-w-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--ink);font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.sg-w-h span{color:var(--dim);letter-spacing:.08em;text-transform:none;font-weight:600;font-size:13px}
.sg-w-row{display:grid;grid-template-columns:104px minmax(0,1fr) 22px;gap:18px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s}
.sg-w-row:hover{background:color-mix(in srgb,var(--card) 70%,transparent)}
.sg-w-t b{display:block;font-weight:800;font-size:16.5px;letter-spacing:.03em}
.sg-w-t span{font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}
.sg-w-txt .h,.sg-w-item .h{display:block;font:500 17.5px/1.32 "Fraunces",serif;letter-spacing:-.01em;transition:color .15s}
.sg-w-txt small,.sg-w-item small{display:block;margin-top:3px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.sg-w-go{font-size:15px;color:var(--dim);transition:transform .3s var(--pop),color .15s}
.sg-w-row:hover .h,.sg-w-item a:hover .h{color:var(--ind)}
.sg-w-row:hover .sg-w-go{transform:translate(3px,-3px);color:var(--ind)}
.sg-w-group{padding:18px 0 4px;border-bottom:1px solid var(--line)}
.sg-w-group:last-child{border-bottom:0}
.sg-w-group>b{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ind)}
.sg-w-group>b em{font-style:normal;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:color-mix(in srgb,var(--ind) 14%,transparent);font-size:11px;letter-spacing:0}
.sg-w-item{padding:10px 0 12px}
.sg-w-item a{text-decoration:none}
.sg-w-item small a{color:inherit;border-bottom:1px solid var(--line)}
.sg-w-item small a:hover{color:var(--ind)}
.sg-w-note{margin:14px 0 0;font-size:12.5px;color:var(--dim)}

/* states */
.sg-loading,.sg-empty{margin:48px 0;font:400 22px/1.4 "Fraunces",serif;color:var(--dim)}
.sg-disclaimer{margin:72px 0 0;font-size:12.5px;color:var(--dim);max-width:80ch}

/* edition meter */
.sg-edition{position:fixed;left:24px;bottom:24px;z-index:50;display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;border-radius:99px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);font-size:13.5px;font-weight:700;transform:translateY(160%);transition:transform .6s var(--pop)}
.sg-edition.on{transform:none}
.sg-edition[hidden],.sg-radio[hidden],.sg-sec[hidden]{display:none}
.sg-edition svg{width:36px;height:36px;transform:rotate(-90deg)}
.sg-edition circle{fill:none;stroke-width:4}
.sg-edition .bg{stroke:var(--line)}.sg-edition .fg{stroke:var(--ind);stroke-linecap:round;transition:stroke-dashoffset .8s var(--pop)}
.sg-edition.done .fg{stroke:var(--up)}
.sg-edition small{display:block;font-size:11px;color:var(--dim);font-weight:600}

@media(max-width:1000px){
  .sg-lead{grid-template-columns:1fr;gap:36px}  .sg-cols{grid-template-columns:1fr}.sg-col{border-left:0;padding:26px 0;border-top:1px solid var(--line)}.sg-col:first-child{border-top:0}
  .sg-world{grid-template-columns:1fr;gap:28px}.sg-world .sg-story+.sg-story{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:26px}
  .sg-wire{grid-template-columns:1fr;gap:44px}
}
@media(max-width:600px){
  .sg-page{padding-top:28px}
  .sg-mast{font-size:10.5px;letter-spacing:.1em}.sg-mast>span{white-space:nowrap}.sg-hide-m{display:none}
  .sg-strap{grid-template-columns:1fr}
  .sg-pts li,.sg-lead .sg-pts li{grid-template-columns:1fr;gap:4px}
  .sg-shead{flex-direction:column;align-items:flex-start}.sg-shead p{text-align:left}
  .sg-kick{padding-right:72px}
    .sg-radio{padding:20px 16px;border-radius:22px;margin:28px -4px 0}
  .sg-cnt,.sg-keys{display:none}
  .sg-stn{font-size:9.5px;letter-spacing:.02em}.sg-stn .lf{display:none}.sg-stn .ls{display:inline}
  .sg-dock-in{gap:14px}.sg-dock-now{width:auto;max-width:110px}.sg-dock-band button span{display:none}
  .sg-w-row{grid-template-columns:80px minmax(0,1fr) 18px;gap:12px}
  .sg-edition{left:12px;bottom:12px;padding:6px 14px 6px 6px;gap:10px;font-size:12.5px}
  .sg-edition svg{width:30px;height:30px}.sg-edition small{display:none}
}
@media(prefers-reduced-motion:reduce){
  .signal-page *,.signal-page *::before,.signal-page *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .sg-rv{opacity:1;transform:none}
}
