/* Glass navbar + mega-menus for the main site. Light and dark both covered. */
:root{
  --gl-bg:rgba(255,255,255,.55);--gl-border:rgba(255,255,255,.7);--gl-panel:rgba(255,255,255,.72);
  --gl-ink:#16110f;--gl-mute:#6f6660;--gl-line:rgba(20,15,12,.09);--gl-hover:rgba(0,0,0,.045);
  --gl-shadow:0 10px 30px -12px rgba(40,20,10,.25),0 1px 0 rgba(255,255,255,.6) inset;
}
html[data-theme="dark"]{
  --gl-bg:rgba(20,18,17,.6);--gl-border:rgba(255,255,255,.1);--gl-panel:rgba(20,18,17,.78);
  --gl-ink:#f5f2ef;--gl-mute:#a49b95;--gl-line:rgba(255,255,255,.1);--gl-hover:rgba(255,255,255,.06);
  --gl-shadow:0 14px 34px -14px rgba(0,0,0,.8),0 1px 0 rgba(255,255,255,.05) inset;
}
.si{width:20px;height:20px;flex:none}
.site .cn-header,.site .drawer{display:none!important}

.gn{position:sticky;top:0;z-index:60;width:100%;margin:0}
.gn-panel[hidden],.gn-sheet[hidden]{display:none!important}   /* hidden must really hide, else the empty sheet blocks every click */
.gn-bar{display:flex;align-items:center;gap:14px;height:64px;padding:0 max(clamp(14px,2.4vw,28px),calc((100% - 1240px) / 2));border-radius:0;border-width:0 0 1px!important;background:var(--gl-bg);
  -webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);border:1px solid var(--gl-border);box-shadow:var(--gl-shadow);color:var(--gl-ink)}
.gn-brand{display:flex;align-items:center;flex:none}
.gn-brand img{height:22px;width:auto}
.gn-menu{display:flex;align-items:center;gap:2px;margin:0 auto}
.gn-item{display:inline-flex;align-items:center;gap:6px;border:0;background:none;font:600 15px var(--font);color:var(--gl-ink);padding:9px 15px;border-radius:999px;cursor:pointer;transition:background .2s,box-shadow .2s}
.gn-item:hover{background:var(--gl-hover)}
.gn-item[aria-expanded="true"],.gn-item.cur{background:rgba(0,0,0,.06);box-shadow:inset 0 0 0 1px var(--gl-line)}
html[data-theme="dark"] .gn-item[aria-expanded="true"],html[data-theme="dark"] .gn-item.cur{background:rgba(255,255,255,.08)}
.gn-chev{width:15px;height:15px;opacity:.6;transition:transform .2s}
.gn-item[aria-expanded="true"] .gn-chev,.gs-sec[open] .gn-chev{transform:rotate(180deg)}
.gn-right{display:flex;align-items:center;gap:6px;flex:none}
.gn-out{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--gl-line);color:var(--gl-ink);text-decoration:none;font:600 14px var(--font);transition:background .2s,border-color .2s}
.gn-out .si{width:16px;height:16px}
.gn-out:hover{background:var(--gl-hover);border-color:color-mix(in srgb,var(--brand) 40%,var(--gl-line))}
.gn-ic{width:40px;height:40px;display:grid;place-items:center;border-radius:999px;border:0;background:none;color:var(--gl-ink);cursor:pointer;transition:background .2s}
.gn-ic:hover{background:var(--gl-hover)}
.gn-ic .th-dark,html[data-theme="dark"] .gn-ic .th-light{display:none}
html[data-theme="dark"] .gn-ic .th-dark{display:grid}
.gn-sign{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 20px;border-radius:999px;background:#fff;color:#16110f;text-decoration:none;font:700 14px var(--font);box-shadow:0 2px 10px -2px rgba(0,0,0,.18),inset 0 0 0 1px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s}
.gn-sign:hover{transform:translateY(-1px);box-shadow:0 8px 18px -6px rgba(0,0,0,.25),inset 0 0 0 1px rgba(0,0,0,.06)}
.gn-me{padding:0 14px 0 5px}.gn-me .avatar{width:32px;height:32px}
.gn-burger{display:none}

/* mega panel */
.gn-panel{position:absolute;left:max(14px,calc(50% - 660px));right:max(14px,calc(50% - 660px));top:calc(100% + 8px);max-height:calc(100vh - 90px);overflow:auto;border-radius:28px;padding:28px 32px 18px;background:var(--gl-panel);color:var(--gl-ink);
  -webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);border:1px solid var(--gl-border);box-shadow:0 30px 60px -20px rgba(0,0,0,.35);
  opacity:0;transform:translateY(-8px);transition:opacity .16s ease,transform .16s ease}
.gn-panel.show{opacity:1;transform:none}
.gm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}
.gm-kick{margin:0 0 6px;font:700 12px var(--font);letter-spacing:.14em;color:var(--brand)}
.gm-h{margin:0;font:600 32px/1.1 var(--display);letter-spacing:-.03em;color:var(--gl-ink)}
.gm-cta{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 18px;border-radius:999px;background:#fff;color:#16110f;text-decoration:none;font:700 14px var(--font);white-space:nowrap;box-shadow:0 2px 10px -2px rgba(0,0,0,.15),inset 0 0 0 1px rgba(0,0,0,.06)}
.gm-cta .si{width:16px;height:16px}
.gm-cols{display:grid;grid-template-columns:repeat(var(--n),1fr)}
.gm-col{padding:0 18px;min-width:0}
.gm-col:first-child{padding-left:0}.gm-col:last-child{padding-right:0}
.gm-col+.gm-col{border-left:1px solid var(--gl-line)}
.gm-ch{margin:0 0 8px 10px;font:700 12px var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--gl-mute)}
.gm-row{display:flex;gap:13px;align-items:flex-start;padding:10px;border-radius:14px;text-decoration:none;color:var(--gl-ink);transition:background .15s}
.gm-row:hover,.gm-row:focus-visible{background:var(--gl-hover);outline:0}
.gm-tile{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex:none;color:#fff;transition:transform .2s}
.gm-row:hover .gm-tile{transform:scale(1.06) rotate(-3deg)}
.gm-tile .si{width:20px;height:20px}
.t-blue{background:linear-gradient(135deg,#60a5fa,#2563eb)}.t-purple{background:linear-gradient(135deg,#c084fc,#7c3aed)}.t-indigo{background:linear-gradient(135deg,#818cf8,#4338ca)}
.t-red{background:linear-gradient(135deg,#ff6b5b,#d40000)}.t-green{background:linear-gradient(135deg,#4ade80,#15803d)}.t-amber{background:linear-gradient(135deg,#fbbf24,#d97706)}
.t-plain{background:#fff;color:#2a2320;box-shadow:inset 0 0 0 1px rgba(0,0,0,.09)}
html[data-theme="dark"] .t-plain{background:rgba(255,255,255,.06);color:#eee;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.gm-txt{min-width:0}
.gm-txt b{display:block;font:500 17px/1.3 var(--font);letter-spacing:-.01em}
.gm-txt small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:400 14px/1.45 var(--font);color:var(--gl-mute);margin-top:2px}
.gm-foot{display:flex;justify-content:flex-end;border-top:1px solid var(--gl-line);margin-top:16px;padding-top:14px}
.gm-foot a{display:inline-flex;align-items:center;gap:6px;font:700 14px var(--font);color:var(--gl-ink);text-decoration:none}
.gm-foot a .si{width:16px;height:16px;transition:transform .2s}.gm-foot a:hover .si{transform:translateX(3px)}

/* mobile sheet */
.gn-sheet{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;background:var(--gl-panel);color:var(--gl-ink);
  -webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);opacity:0;transform:translateY(12px);transition:opacity .2s,transform .2s}
.gn-sheet.show{opacity:1;transform:none}
.gs-top{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 10px 20px;border-bottom:1px solid var(--gl-line)}
.gs-body{flex:1;overflow-y:auto;padding:8px 14px 20px}
.gs-sec{border-bottom:1px solid var(--gl-line)}
.gs-sec summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:16px 6px;cursor:pointer;font:600 20px var(--display)}
.gs-sec summary::-webkit-details-marker{display:none}
.gs-sec summary small{display:block;font:700 11px var(--font);letter-spacing:.12em;color:var(--brand);margin-bottom:2px}
.gs-rows{padding:0 0 12px}
.gs-rows .gm-row{padding:12px 8px}
.gs-ipo{display:flex;gap:13px;align-items:center;margin-top:14px;padding:14px;border-radius:18px;text-decoration:none;color:var(--gl-ink);border:1px solid var(--gl-line)}
.gs-ipo>.si{margin-left:auto;opacity:.6}
.gs-foot{display:flex;gap:8px;align-items:center;padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--gl-line)}
.gs-foot .gn-sign,.gs-foot .gn-out{flex:1;justify-content:center;height:48px}

@media (max-width:1180px){.gn-out{display:none}.gn-item{padding:9px 11px}}
@media (max-width:979px){
  .gn-bar{height:58px;padding:0 8px 0 14px}
  .gn-menu,.gn-panel,.gn-right .gn-sign,.gn-right [data-gn-theme]{display:none}
  .gn-right{margin-left:auto}
  .gn-burger{display:grid}
}
@media (prefers-reduced-motion:reduce){.gn-panel,.gn-sheet,.gm-tile,.gn-chev{transition:none}}
/* a little bigger logo on desktop only */
@media (min-width:980px){.gn-brand img{height:27px}}

/* smoother mega-menu: panel glides down and scales in, then columns and rows follow one after another */
.gn-panel{transform-origin:50% 0;transform:translateY(-12px) scale(.975);transition:opacity .28s cubic-bezier(.2,.8,.2,1),transform .34s cubic-bezier(.2,.8,.2,1)}
.gn-panel.show{transform:none}
.gn-panel .gm-head,.gn-panel .gm-col,.gn-panel .gm-foot{opacity:0;transform:translateY(10px);transition:opacity .32s ease,transform .38s cubic-bezier(.2,.8,.2,1)}
.gn-panel.show .gm-head,.gn-panel.show .gm-col,.gn-panel.show .gm-foot{opacity:1;transform:none}
.gn-panel.show .gm-head{transition-delay:.04s}
.gn-panel.show .gm-col:nth-child(1){transition-delay:.08s}
.gn-panel.show .gm-col:nth-child(2){transition-delay:.13s}
.gn-panel.show .gm-col:nth-child(3){transition-delay:.18s}
.gn-panel.show .gm-col:nth-child(4){transition-delay:.23s}
.gn-panel.show .gm-col:nth-child(5){transition-delay:.28s}
.gn-panel.show .gm-foot{transition-delay:.3s}
.gn-panel .gm-row{transition:background .2s,transform .2s}
.gn-panel .gm-row:hover{transform:translateX(3px)}
.gn-chev{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
@media (prefers-reduced-motion:reduce){.gn-panel,.gn-panel .gm-head,.gn-panel .gm-col,.gn-panel .gm-foot{transition:none;transform:none}}
/* IPO desk extras in the shared navbar */
.gn-bell{position:relative}
.gn-bell .dot{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--brand,#ff0019);box-shadow:0 0 0 2px var(--card,#fff)}
.cn-ipo-note{color:inherit;text-decoration:none;font-weight:600;white-space:nowrap}
.cn-ipo-note b{color:var(--brand,#ff0019)}

/* ---------- account menu (avatar in the navbar), same pattern as SOFHOUR Cloud ---------- */
.gn-acct{position:relative}
.gn-acct>summary{list-style:none;cursor:pointer;user-select:none}
.gn-acct>summary::-webkit-details-marker{display:none}
.gn-acct .gn-me{gap:7px;padding:0 10px 0 5px}
.gn-acct .gn-me .gn-chev{width:14px;height:14px;opacity:.55;transition:transform .2s}
.gn-acct[open] .gn-me{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 35%,transparent),0 8px 18px -6px rgba(0,0,0,.25)}
.gn-acct[open] .gn-me .gn-chev{transform:rotate(180deg)}
.gn-acct-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:80;width:290px;max-height:calc(100vh - 90px);overflow:auto;padding:8px;border-radius:18px;
  background:var(--card,#fff);border:1px solid var(--line);box-shadow:0 24px 60px -20px rgba(30,10,8,.35),0 2px 8px -2px rgba(0,0,0,.08);animation:gnAcct .22s cubic-bezier(.2,.9,.3,1.2)}
@keyframes gnAcct{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}
.gn-acct-head{display:flex;align-items:center;gap:11px;padding:10px 10px 12px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.gn-acct-head .avatar{width:40px;height:40px;flex:none;font-size:15px}
.gn-acct-head span{display:grid;min-width:0}
.gn-acct-head b{font:800 14.5px var(--font);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gn-acct-head small{font-size:12.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gn-acct-menu a,.gn-acct-link{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:10px;background:none;
  font:600 14px var(--font);color:var(--ink-2);text-align:left;text-decoration:none;cursor:pointer;transition:background-color .18s,color .18s}
.gn-acct-menu .si{width:18px;height:18px;flex:none}
.gn-acct-menu a:hover,.gn-acct-link:hover,.gn-acct-menu a.on{background:color-mix(in srgb,var(--brand) 8%,transparent);color:var(--brand)}
.gn-acct-sep{height:1px;background:var(--line);margin:6px 4px}
.gn-acct-menu form{margin:0}
.gn-acct-out{color:var(--brand)}
/* dark mode switch */
.gn-acct-switch{justify-content:space-between}
.gn-acct-switch>span{display:inline-flex;align-items:center;gap:12px}
.gn-acct-switch>i{position:relative;flex:none;width:36px;height:20px;border-radius:999px;background:var(--line);transition:background .2s}
.gn-acct-switch>i::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
html[data-theme="dark"] .gn-acct-switch>i{background:var(--brand)}
html[data-theme="dark"] .gn-acct-switch>i::after{transform:translateX(16px)}
html[data-theme="dark"] .gn-acct-menu a,html[data-theme="dark"] .gn-acct-link{color:var(--ink-2)}
html[data-theme="dark"] .gn-acct-menu a:hover,html[data-theme="dark"] .gn-acct-link:hover,html[data-theme="dark"] .gn-acct-menu a.on,html[data-theme="dark"] .gn-acct-out{color:#ff5a5a}
/* phones: account lives in the Menu sheet (bottom bar), not in the top bar */
@media (max-width:979px){.gn-right .gn-acct{display:none}}

/* ---------- navbar links: light red on hover, light red + red text when active ---------- */
.gn-item{padding:7px 13px;font-size:14.5px;transition:background .2s,color .2s,box-shadow .2s}
.gn-item:hover{background:color-mix(in srgb,var(--brand) 7%,transparent);color:var(--brand)}
.gn-item[aria-expanded="true"],.gn-item.cur{background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand);box-shadow:none}
.gn-item:hover .gn-chev,.gn-item.cur .gn-chev,.gn-item[aria-expanded="true"] .gn-chev{opacity:.9}
html[data-theme="dark"] .gn-item:hover{background:rgba(255,90,82,.1);color:#ff6b62}
html[data-theme="dark"] .gn-item[aria-expanded="true"],html[data-theme="dark"] .gn-item.cur{background:rgba(255,90,82,.14);color:#ff6b62;box-shadow:none}
.gn-out:hover,.gn-ic:hover{background:color-mix(in srgb,var(--brand) 7%,transparent);color:var(--brand)}
html[data-theme="dark"] .gn-out:hover,html[data-theme="dark"] .gn-ic:hover{background:rgba(255,90,82,.1);color:#ff6b62}
@media (max-width:1180px){.gn-item{padding:7px 10px}}

/* ---------- Menu sheet (phones): account card, quick links and dark mode at the top; smaller text ---------- */
.gs-me{padding:12px 4px 14px;border-bottom:1px solid var(--gl-line);display:grid;gap:10px}
.gs-me-card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;text-decoration:none;color:var(--gl-ink);background:color-mix(in srgb,var(--brand) 6%,transparent);border:1px solid color-mix(in srgb,var(--brand) 16%,transparent)}
.gs-me-card .avatar{width:42px;height:42px;flex:none;font-size:15px}
.gs-me-card>span{display:grid;min-width:0;flex:1}
.gs-me-card b{font:800 15px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gs-me-card small{font-size:12.5px;color:var(--gl-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gs-me-card>.si{width:18px;height:18px;color:var(--brand);flex:none}
.gs-me-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.gs-me-grid a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 4px;border-radius:12px;text-decoration:none;color:var(--gl-ink);border:1px solid var(--gl-line);font:700 11.5px var(--font);text-align:center;transition:background .18s,color .18s}
.gs-me-grid a .si{width:18px;height:18px;color:var(--brand)}
.gs-me-grid a:hover,.gs-me-grid a.on{background:color-mix(in srgb,var(--brand) 8%,transparent);color:var(--brand)}
.gs-me-auth{display:flex;gap:8px}
.gs-me-auth .gn-sign,.gs-me-auth .gn-out{flex:1;justify-content:center;height:44px;font-size:14px}
.gs-me-row{display:flex;gap:6px;align-items:center}
.gs-me-row>.gn-acct-switch{flex:1}
.gs-me-row form{margin:0}
.gs-me-row .gn-acct-link{padding:10px 12px;border-radius:12px;font-size:14px}
.gn-sheet .gn-acct-switch{display:flex!important}
.gs-me-row .gn-acct-switch:hover,.gs-me-row .gn-acct-out:hover{background:color-mix(in srgb,var(--brand) 7%,transparent);color:var(--brand)}
/* smaller text in the sheet */
.gs-sec summary{padding:13px 6px;font:600 16.5px var(--display)}
.gs-sec summary small{font-size:10px;letter-spacing:.1em}
.gs-rows .gm-row{padding:9px 8px}
.gn-sheet .gm-txt b{font-size:14px}
.gn-sheet .gm-txt small{font-size:12px}
.gn-sheet .gm-tile{width:34px;height:34px}
.gs-ipo{padding:12px;margin-top:12px}
.gs-me-row form .gn-acct-link{width:auto;white-space:nowrap}

/* ---------- Notifications (bell): dropdown on desktop, full screen on phones ---------- */
.gn-nfw{position:relative}
.gn-bell .dot{top:8px;right:9px}
.gn-bell[aria-expanded="true"]{background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand)}
.gn-nf{position:fixed;right:16px;top:74px;z-index:95;width:400px;max-width:calc(100vw - 20px);max-height:min(620px,calc(100vh - 90px));box-sizing:border-box;font-family:var(--font);text-align:left;display:flex;flex-direction:column;
  background:var(--card,#fff);color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px -18px rgba(40,0,0,.35);overflow:hidden;animation:gnAcct .18s ease}
.gn-nf[hidden]{display:none}
.gn-nf-head{display:flex;align-items:center;gap:8px;padding:14px 14px 10px 18px}
.gn-nf-head b{font:800 16px var(--font);flex:1}
.gn-nf-read{border:0;background:none;color:var(--brand);font:700 12.5px var(--font);cursor:pointer;padding:6px 8px;border-radius:8px}
.gn-nf-read:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}
.gn-nf-x,.gn-nf-back{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--ink-3);cursor:pointer}
.gn-nf-x:hover{background:var(--soft);color:var(--ink)}
.gn-nf-x .si{width:17px;height:17px}
.gn-nf-back{display:none}
.gn-nf-back .si{transform:rotate(180deg);width:19px;height:19px}
.gn-nf-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:0 14px 10px;border-bottom:1px solid var(--line)}
.gn-nf-tabs::-webkit-scrollbar{display:none}
.gn-nf-tabs button{flex:none;border:1px solid var(--line);background:none;color:var(--ink-2);font:700 12px var(--font);padding:5px 11px;border-radius:999px;cursor:pointer}
.gn-nf-tabs button:hover{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}
.gn-nf-tabs button.on{background:color-mix(in srgb,var(--brand) 9%,transparent);border-color:color-mix(in srgb,var(--brand) 30%,transparent);color:var(--brand)}
.gn-nf-list{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px 8px 8px}
.gn-nf-day{margin:10px 10px 4px;font:800 10.5px var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.gn-nf-it{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:12px;text-decoration:none;color:var(--ink);position:relative;transition:background .15s}
.gn-nf-it:hover{background:color-mix(in srgb,var(--brand) 5%,transparent)}
.gn-nf-ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--soft);color:var(--ink-2)}
.gn-nf-ic .si{width:17px;height:17px}
.gn-nf-ic.k-markets{background:#e8f6ee;color:#0c8a4a}.gn-nf-ic.k-results{background:#eef1ff;color:#3b4fd8}
.gn-nf-ic.k-news{background:#fff3e3;color:#b8650a}.gn-nf-ic.k-ipo{background:#ffe9eb;color:var(--brand)}.gn-nf-ic.k-research{background:#f3ecff;color:#7a3fd1}
.gn-nf-ic.down{background:#ffecec;color:#d32f2f}
.gn-nf-tx{flex:1;min-width:0;display:grid;gap:2px}
.gn-nf-tx b{font:700 13.5px/1.35 var(--font);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gn-nf-tx span{font-size:12.5px;line-height:1.4;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gn-nf-tx small{font-size:11.5px;color:var(--ink-3)}
.gn-nf-it.new b::after{content:"";display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--brand);vertical-align:1px}
.gn-nf-empty{margin:28px 16px;text-align:center;color:var(--ink-3);font-size:13.5px}
.gn-nf-foot{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-top:1px solid var(--line)}
.gn-nf-foot>*{flex:1 1 auto}
.gn-nf-push{display:flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 12px;border:0;border-radius:12px;background:color-mix(in srgb,var(--brand) 8%,transparent);color:var(--brand);font:700 13px var(--font);cursor:pointer}
.gn-nf-push:hover{background:color-mix(in srgb,var(--brand) 13%,transparent)}
.gn-nf-push .si{width:16px;height:16px}
.gn-nf-push[hidden]{display:none}
.gn-nf-foot .gn-acct-switch{display:flex;height:40px;border-radius:12px;padding:0 12px}
html[data-theme="dark"] .gn-nf{box-shadow:0 24px 60px -18px rgba(0,0,0,.7)}
html[data-theme="dark"] .gn-nf-ic.k-markets{background:rgba(30,180,100,.15);color:#4cd38a}
html[data-theme="dark"] .gn-nf-ic.k-results{background:rgba(90,110,255,.16);color:#9aa8ff}
html[data-theme="dark"] .gn-nf-ic.k-news{background:rgba(240,150,40,.15);color:#ffb35c}
html[data-theme="dark"] .gn-nf-ic.k-ipo,html[data-theme="dark"] .gn-nf-ic.down{background:rgba(255,80,80,.15);color:#ff6b62}
html[data-theme="dark"] .gn-nf-ic.k-research{background:rgba(160,100,255,.16);color:#c3a2ff}
html[data-theme="dark"] .gn-nf-tabs button.on,html[data-theme="dark"] .gn-nf-read,html[data-theme="dark"] .gn-nf-push{color:#ff6b62}
/* phones: bell takes the place of search (search is in the bottom bar); panel goes full screen */
@media (max-width:979px){
  .gn-right .gn-srch{display:none}
  .gn-nf{position:fixed;inset:0;width:auto;max-height:none;border:0;border-radius:0;box-shadow:none;animation:none;padding-top:env(safe-area-inset-top)}
  .gn-nf-head{padding:10px 10px 8px 6px}
  .gn-nf-back{display:grid;color:var(--ink)}
  .gn-nf-x{display:none}
  .gn-nf-list{padding:2px 6px 10px}
  .gn-nf-foot{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}
.gn-nf .gn-acct-switch{display:flex!important}

/* tabs: fixed size pills on one line, never squashed */
.gn-nf-tabs{flex:none;align-items:center;min-height:44px;box-sizing:border-box;margin:0}
.gn-nf-tabs button{display:inline-flex;align-items:center;justify-content:center;height:30px;box-sizing:border-box;margin:0;line-height:1;white-space:nowrap;letter-spacing:0;text-transform:none;box-shadow:none;min-width:0;width:auto}
.gn-nf-head{flex:none}.gn-nf-foot{flex:none}
.gn-nf-list{min-height:120px}
@media (max-width:979px){.gn-nf{inset:0;width:100%;max-width:none;height:100%;height:100dvh;z-index:120}}

/* ---------- Report a bug ---------- */
.gn-acct-bug .si{color:var(--ink-3)}
.gs-me-bug{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--gl-line);border-radius:14px;background:none;color:var(--gl-ink);text-align:left;cursor:pointer;font-family:var(--font)}
.gs-me-bug>.si:first-child{width:18px;height:18px;color:var(--brand);flex:none}
.gs-me-bug>span{flex:1;display:grid;min-width:0}
.gs-me-bug b{font:700 14px var(--font)}.gs-me-bug small{font-size:12px;color:var(--gl-mute)}
.gs-me-bug>.si:last-child{width:16px;height:16px;opacity:.5}
.gs-me-bug:hover{background:color-mix(in srgb,var(--brand) 6%,transparent)}
.bug-dlg{border:0;padding:0;background:none;width:min(480px,calc(100vw - 24px));max-height:calc(100vh - 32px);color:var(--ink);overflow:visible}
.bug-dlg::backdrop{background:rgba(20,6,6,.45);backdrop-filter:blur(3px)}
.bug-dlg[open]{animation:gnAcct .18s ease}
.bug-card{margin:0;display:flex;flex-direction:column;max-height:calc(100vh - 32px);background:var(--card,#fff);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 70px -20px rgba(40,0,0,.4);overflow:hidden;font-family:var(--font)}
.bug-head{display:flex;align-items:center;gap:12px;padding:16px 14px 12px 18px;border-bottom:1px solid var(--line)}
.bug-head>span:nth-child(2){flex:1;display:grid}
.bug-head b{font:800 17px var(--font)}.bug-head small{font-size:12.5px;color:var(--ink-3)}
.bug-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 9%,transparent);color:var(--brand);flex:none}
.bug-ic .si{width:19px;height:19px}
.bug-x{width:34px;height:34px;border:0;border-radius:50%;background:none;color:var(--ink-3);display:grid;place-items:center;cursor:pointer}
.bug-x:hover{background:var(--soft);color:var(--ink)}.bug-x .si{width:17px;height:17px}
.bug-body{padding:14px 18px 6px;overflow-y:auto;display:grid;gap:6px}
.bug-lbl{margin:6px 0 2px;font:700 13px var(--font);color:var(--ink)}
.bug-lbl small{font-weight:500;color:var(--ink-3)}
.bug-kinds{display:flex;flex-wrap:wrap;gap:6px}
.bug-kind{position:relative;cursor:pointer}
.bug-kind input{position:absolute;opacity:0;pointer-events:none}
.bug-kind span{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:999px;font:600 12.5px var(--font);color:var(--ink-2);transition:background .15s,color .15s,border-color .15s}
.bug-kind:hover span{border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}
.bug-kind input:checked+span{background:color-mix(in srgb,var(--brand) 9%,transparent);border-color:color-mix(in srgb,var(--brand) 40%,transparent);color:var(--brand)}
.bug-kind input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.bug-body textarea,.bug-body input[type=email]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card,#fff);color:var(--ink);font:500 15px/1.45 var(--font);resize:vertical}
.bug-body textarea:focus,.bug-body input[type=email]:focus{outline:0;border-color:color-mix(in srgb,var(--brand) 50%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}
.bug-file{margin-top:6px;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;color:var(--ink-2);font:600 13px var(--font);cursor:pointer}
.bug-file:hover{border-color:var(--brand);color:var(--brand)}
.bug-file input{position:absolute;width:1px;height:1px;opacity:0}
.bug-file .si{width:16px;height:16px;transform:rotate(180deg)}
.bug-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bug-hp{position:absolute!important;left:-9999px;width:1px;height:1px}
.bug-note{margin:4px 0 0;font-size:12px;color:var(--ink-3)}
.bug-err{margin:2px 0 0;padding:8px 10px;border-radius:10px;background:#ffecec;color:#c62828;font-size:13px}
.bug-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px}
.bug-cancel,.bug-send{height:40px;padding:0 18px;border-radius:999px;font:700 14px var(--font);cursor:pointer}
.bug-cancel{border:1px solid var(--line);background:none;color:var(--ink-2)}
.bug-cancel:hover{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}
.bug-send{border:0;background:var(--brand);color:#fff}
.bug-send:hover{filter:brightness(.95)}.bug-send:disabled{opacity:.6;cursor:wait}
.bug-done{padding:30px 22px 10px;text-align:center;display:grid;gap:6px;justify-items:center}
.bug-done[hidden]{display:none}
.bug-done b{font:800 16px var(--font)}.bug-done small{font-size:13px;color:var(--ink-2)}
.bug-ok{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e8f6ee;color:#0c8a4a;margin-bottom:4px}
.bug-ok .si{width:26px;height:26px}
html[data-theme="dark"] .bug-err{background:rgba(255,80,80,.14);color:#ff8a80}
html[data-theme="dark"] .bug-ok{background:rgba(30,180,100,.15);color:#4cd38a}
html[data-theme="dark"] .bug-kind input:checked+span,html[data-theme="dark"] .bug-ic{color:#ff6b62}
@media (max-width:600px){
  .bug-dlg{width:100vw;max-width:100vw;max-height:100dvh;margin:auto 0 0}
  .bug-card{border-radius:20px 20px 0 0;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom)}
  .bug-foot .bug-cancel,.bug-foot .bug-send{flex:1}
}

/* submenus (2-Nov-2026): every menu is a set of groups. Desktop: group tabs on the left, that group's links on the right.
   Phone sheet: each group opens inside its menu. Built in views/header.php from site_menus(). */
.gm-sub{display:grid;grid-template-columns:268px minmax(0,1fr);gap:22px;min-height:300px}
.gm-tabs{display:flex;flex-direction:column;gap:4px;padding-right:18px;border-right:1px solid var(--gl-line)}
.gm-tab{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border:0;border-radius:14px;background:none;color:var(--gl-ink);text-align:left;cursor:pointer;font:inherit;transition:background .15s}
.gm-tab .gm-tile{width:36px;height:36px;border-radius:10px}.gm-tab .gm-tile .si{width:18px;height:18px}
.gm-tab-t{min-width:0;flex:1}
.gm-tab-t b{display:block;font:500 15.5px/1.3 var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gm-tab-t small{display:block;font:400 12.5px var(--font);color:var(--gl-mute)}
.gm-tab-go{width:16px;height:16px;opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .15s;color:var(--brand)}
.gm-tab:hover,.gm-tab:focus-visible{background:var(--gl-hover);outline:0}
.gm-tab.on{background:var(--gl-hover);box-shadow:inset 3px 0 0 var(--brand)}
.gm-tab.on .gm-tab-t b{font-weight:600}
.gm-tab.on .gm-tab-go{opacity:1;transform:none}
.gm-panes{min-width:0}
.gm-pane:not(.on){display:none}
.gm-pane.on{animation:gmIn .22s cubic-bezier(.2,.8,.2,1)}
@keyframes gmIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.gm-pane-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px}
.gm-pane-h .gm-ch{margin:0 0 0 10px}
.gm-more{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--font);color:var(--brand);text-decoration:none;padding:4px 10px;border-radius:99px}
.gm-more:hover{background:var(--gl-hover)}
.gm-more .si{width:14px;height:14px}
.gm-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
.gm-rows.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}
.gm-grps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 14px}
.gm-grp{min-width:0}
.gm-sh{margin:6px 0 2px 10px;font:600 11.5px var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--gl-mute)}
.gm-grps .gm-row{padding:7px 10px;gap:11px;align-items:center}
.gm-grps .gm-tile{width:32px;height:32px;border-radius:9px}.gm-grps .gm-tile .si{width:16px;height:16px}
.gm-grps .gm-txt b{font-size:15px}
.gm-grps .gm-txt small{-webkit-line-clamp:1;font-size:12.5px}
.gn-panel .gm-sub{opacity:0;transform:translateY(10px);transition:opacity .32s ease .08s,transform .38s cubic-bezier(.2,.8,.2,1) .08s}
.gn-panel.show .gm-sub{opacity:1;transform:none}
@media (max-width:1180px){.gm-sub{grid-template-columns:230px minmax(0,1fr)}.gm-grps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.gm-pane.on{animation:none}.gn-panel .gm-sub{transition:none;transform:none}}

/* phone sheet: groups inside each menu */
.gs-subs{display:grid;gap:6px;padding:0 0 12px}
.gs-sub{border-radius:16px;background:var(--gl-hover)}
.gs-sub>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer}
.gs-sub>summary::-webkit-details-marker{display:none}
.gs-sub>summary .gm-tile{width:34px;height:34px;border-radius:10px}.gs-sub>summary .gm-tile .si{width:17px;height:17px}
.gs-sub-t{flex:1;min-width:0}
.gs-sub-t b{display:block;font:500 15px/1.3 var(--font)}
.gs-sub-t small{display:block;font:400 12px var(--font);color:var(--gl-mute)}
.gs-sub>summary .gn-chev{transition:transform .2s}
.gs-sub[open]>summary .gn-chev{transform:rotate(180deg)}
.gs-sub .gs-rows{padding:0 6px 8px}
.gs-sub .gs-rows .gm-row{padding:9px 8px}
.gs-sub .gm-sh{margin:10px 0 2px 8px}
.gs-sub .gm-more{margin:4px 0 0 4px}
/* the calculators submenu holds every calculator: compact rows, one column per group */
.gm-grps{grid-template-columns:repeat(var(--g,4),minmax(0,1fr));gap:4px 12px}
.gm-grps .gm-txt small{display:none}
.gm-grps .gm-row{padding:6px 8px;gap:10px}
.gm-grps .gm-tile{width:30px;height:30px}
.gm-grps .gm-txt b{font-size:14px;line-height:1.3}
@media (max-width:1180px){.gm-grps{grid-template-columns:repeat(3,minmax(0,1fr))}}
