/* stockER: the stock check-up. Paper, ink and one teal; green and red only ever mean up and down.
   Bricolage Grotesque for headings and big numbers, Hanken Grotesk for text and tables (tabular figures). */
:root{
  --paper:#F6F6F2; --card:#FFFFFF; --sunk:#EFEFE9;
  --ink:#15181B; --ink-2:#43494F; --mute:#6A7178; --rule:#E2E3DD; --rule-2:#D3D5CE;
  --brand:#0C6B70; --brand-deep:#08494D; --brand-soft:#E2F0EF;
  --up:#117A45; --up-soft:#E3F2E8; --down:#C23232; --down-soft:#FBE8E6; --warn:#9A6200; --warn-soft:#FBF0DA;
  --display:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif;
  --text:'Hanken Grotesk','Segoe UI',system-ui,sans-serif;
  --r:10px; --r-sm:6px; --gut:clamp(14px,3.4vw,32px);
  --shadow:0 1px 0 rgba(21,24,27,.04),0 12px 28px -22px rgba(21,24,27,.35);
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:120px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15.5px/1.55 var(--text);font-variant-numeric:tabular-nums lining-nums;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}
::selection{background:var(--brand);color:#fff}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:3px}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;margin:0;letter-spacing:-.01em;line-height:1.15;text-wrap:balance}
.wrap{max-width:1240px;margin:0 auto;padding-inline:var(--gut)}
.up{color:var(--up)}.dn{color:var(--down)}.mute{color:var(--mute)}
.skip{position:absolute;left:-999px;top:6px;background:var(--ink);color:#fff;padding:8px 12px;z-index:60}.skip:focus{left:6px}
svg.ic{width:16px;height:16px;flex:none}

/* wordmark: the ER sits in a sign */
.wm{display:inline-flex;align-items:center;gap:1px;font:800 24px/1 var(--display);letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.wm b{display:inline-block;margin-left:2px;padding:3px 5px 2px;border-radius:5px;background:var(--brand);color:#fff;font-weight:800;letter-spacing:.02em;font-size:.82em}

/* ticker */
.tape{background:var(--ink);color:#E9EAE6;font-size:13px;overflow:hidden;position:relative}
.tape-track{display:flex;width:max-content;animation:tape 120s linear infinite}
.tape:hover .tape-track{animation-play-state:paused}
.tape ul{display:flex;list-style:none;margin:0;padding:0}
.tape li{display:flex;gap:7px;align-items:baseline;padding:8px 16px;white-space:nowrap;border-right:1px solid #2A2F34}
.tape a{text-decoration:none;font-weight:700;color:#fff}
.tape .up{color:#4ADE80}.tape .dn{color:#FF8A80}
.tape-note{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;padding:0 12px 0 28px;background:linear-gradient(90deg,transparent,var(--ink) 30%);color:#9EA4A9;font-size:12px}
@keyframes tape{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tape-track{animation:none}.tape{overflow-x:auto}}

/* header */
.head{position:sticky;top:0;z-index:40;background:rgba(246,246,242,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.head .wrap{display:flex;align-items:center;gap:20px;min-height:64px}
.nav{display:flex;gap:4px;align-items:center}
.nav a{padding:8px 12px;border-radius:999px;text-decoration:none;font-weight:600;font-size:14.5px;color:var(--ink-2)}
.nav a:hover{background:var(--sunk);color:var(--ink)}
.nav a[aria-current="page"]{background:var(--ink);color:#fff}
.search{position:relative;flex:1;max-width:420px;margin-left:auto}
.search input{width:100%;height:42px;border:1px solid var(--rule-2);border-radius:999px;background:var(--card);padding:0 16px 0 40px;font:500 15px var(--text);color:var(--ink)}
.search input::placeholder{color:#7A8086}
.search input:focus{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand)}
.search svg{position:absolute;left:14px;top:13px;color:var(--mute)}
.search kbd{position:absolute;right:12px;top:10px;font:600 12px var(--text);color:var(--mute);border:1px solid var(--rule-2);border-radius:5px;padding:1px 6px;background:var(--paper)}
.results{position:absolute;left:0;right:0;top:48px;background:var(--card);border:1px solid var(--rule);border-radius:var(--r);box-shadow:0 20px 40px -20px rgba(0,0,0,.3);padding:6px;max-height:360px;overflow:auto;display:none}
.results.on{display:block}
.results a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:9px 10px;border-radius:7px;text-decoration:none}
.results a:hover,.results a.sel{background:var(--brand-soft)}
.results b{font-weight:700}.results span{color:var(--mute);font-size:13px}
@media(max-width:860px){.head .wrap{flex-wrap:wrap;gap:8px 12px;padding-top:8px}.nav{order:3;width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:8px}.nav::-webkit-scrollbar{display:none}.nav a{flex:none}.search kbd{display:none}.secnav{top:108px}.idcard{top:0}}

/* layout pieces */
main{padding-bottom:64px}
.sec{margin-top:28px}
.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--shadow)}
.pad{padding:20px 22px}
.h2{font-size:clamp(21px,2vw,25px)}
.sub{color:var(--mute);font-size:14px;margin:4px 0 0}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.src{font-size:12.5px;color:var(--mute);margin-top:12px}
.src a{color:var(--mute)}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule-2);background:var(--card);color:var(--ink-2);border-radius:999px;padding:7px 13px;font:600 13.5px var(--text);cursor:pointer;white-space:nowrap}
.pill:hover{border-color:var(--ink)}
.pill[aria-pressed="true"],.pill[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.pills{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:5px;font:700 12.5px var(--text);padding:3px 8px;border-radius:5px}
.chip.up{background:var(--up-soft)}.chip.dn{background:var(--down-soft)}.chip.flat{background:var(--sunk);color:var(--ink-2)}
.tag{display:inline-block;font:600 12px var(--text);color:var(--brand-deep);background:var(--brand-soft);padding:3px 8px;border-radius:5px}
.btn{display:inline-flex;align-items:center;gap:8px;font:700 14.5px var(--text);padding:10px 16px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:#fff;text-decoration:none;cursor:pointer}
.btn.ghost{background:transparent;color:var(--ink)}
.btn:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}
.note{font-size:13px;color:var(--mute)}

/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th{font:600 12.5px var(--text);color:var(--mute);text-align:right;padding:10px 12px;border-bottom:1px solid var(--rule);white-space:nowrap;background:var(--card)}
.tbl th:first-child,.tbl td:first-child{text-align:left}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--rule);text-align:right;white-space:nowrap}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:#FAFAF7}
.tbl th[data-sort]{cursor:pointer}.tbl th[data-sort]:hover{color:var(--ink)}
.tbl th[aria-sort] {color:var(--ink)}
.tbl th[aria-sort="descending"]::after{content:" ↓"}.tbl th[aria-sort="ascending"]::after{content:" ↑"}
.tbl .co{display:flex;align-items:center;gap:10px;text-decoration:none}
.tbl .co b{font-weight:700}.tbl .co span{color:var(--mute);font-size:12.5px;display:block}
.tbl .sticky{position:sticky;left:0;background:var(--card);z-index:1}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.logo{flex:none;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font:800 12px var(--display);color:#fff;letter-spacing:.02em}

/* ------------- homepage ------------- */
.idx{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.6fr);gap:12px;margin-top:22px}
.idx .card{padding:16px 18px}
.idx .nm{font:600 13px var(--text);color:var(--mute)}
.idx .v{font:700 24px/1.2 var(--display);margin-top:4px}
.idx .c{font:600 13.5px var(--text);margin-top:2px}
.mood{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;align-items:center}
.mood h2{font-size:18px}
.mood .lvl{font:700 15px var(--text)}
.mscale{grid-column:1/-1;position:relative;height:12px;border-radius:999px;background:linear-gradient(90deg,#C23232,#E08A2A 30%,#C9C9BF 50%,#4F9E6C 70%,#117A45);margin-top:6px}
.mscale i{position:absolute;top:-5px;width:4px;height:22px;border-radius:2px;background:var(--ink);box-shadow:0 0 0 2px #fff;transform:translateX(-50%)}
.mdays{grid-column:1/-1;display:flex;justify-content:space-between;font-size:12.5px;color:var(--mute)}
.mdays b{display:block;font:700 13px var(--text);color:var(--ink)}
.home-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;margin-top:20px;align-items:start}
.movers .tbl td{padding:12px 12px}
.ev{display:grid;gap:0}
.ev a,.ev div.it{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:13px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.ev .it:last-child{border-bottom:0}
.ev b{font-weight:700}.ev span{color:var(--mute);font-size:13px}.ev p{grid-column:1/-1;margin:2px 0 0;font-size:13.5px;color:var(--ink-2)}
.sectors{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.sector{border-radius:8px;padding:12px 14px;border:1px solid var(--rule)}
.sector b{display:block;font:700 14px var(--text)}.sector span{font:700 18px var(--display)}
.sector small{display:block;color:var(--ink-2);font-size:12px;margin-top:2px}
@media(max-width:1100px){.idx{grid-template-columns:repeat(2,minmax(0,1fr))}.idx .moodc{grid-column:1/-1}.home-grid{grid-template-columns:minmax(0,1fr)}}

/* ------------- stock page ------------- */
.crumbs{font-size:13.5px;color:var(--mute);margin:18px 0 0}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.sp{display:grid;grid-template-columns:330px minmax(0,1fr);gap:24px;margin-top:14px;align-items:start}
.idcard{position:sticky;top:84px;padding:20px}
.idcard .who{display:flex;gap:12px;align-items:center}
.idcard .logo{width:44px;height:44px;font-size:14px;border-radius:10px}
.logo.img{background:#fff;box-shadow:inset 0 0 0 1px var(--rule);padding:4px;overflow:hidden}
.logo.img img{width:100%;height:100%;object-fit:contain;display:block}
.idcard .logo.img.wide{width:auto;max-width:150px;padding:6px 8px}
.idcard .logo.img.wide img{width:auto;height:32px;max-width:134px}
.idcard h1{font-size:21px}
.idcard .sym{font:600 13px var(--text);color:var(--mute);margin-top:3px}
.price{font:800 36px/1.1 var(--display);margin-top:16px;letter-spacing:-.02em}
.pchg{font:700 15px var(--text);margin-top:3px}
.asof{font-size:12.5px;color:var(--mute);margin-top:4px}
.range{margin-top:16px}
.range .lbl{display:flex;justify-content:space-between;font-size:12.5px;color:var(--mute)}
.range .lbl b{color:var(--ink);font-weight:700;font-size:13px}
.bar{position:relative;height:6px;border-radius:999px;background:var(--sunk);margin:7px 0}
.bar .fill{position:absolute;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,var(--down),#D7D7CE,var(--up))}
.bar .mk{position:absolute;top:-5px;width:3px;height:16px;border-radius:2px;background:var(--ink);transform:translateX(-50%)}
.bar .mk.o{background:var(--mute);height:12px;top:-3px}
.vitals{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:16px;border-top:1px solid var(--rule)}
.vitals div{padding:10px 0;border-bottom:1px solid var(--rule)}
.vitals div:nth-child(odd){padding-right:10px}.vitals div:nth-child(even){padding-left:10px;border-left:1px solid var(--rule)}
.vitals span{display:block;font-size:12.5px;color:var(--mute)}
.vitals b{font:700 16px var(--text)}
.secnav{position:sticky;top:64px;z-index:30;background:var(--paper);border-bottom:1px solid var(--rule);display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding:6px 0}
.secnav::-webkit-scrollbar{display:none}
.secnav a{flex:none;padding:9px 13px;border-radius:999px;text-decoration:none;font:600 14px var(--text);color:var(--ink-2)}
.secnav a:hover{background:var(--sunk)}
.secnav a.on{background:var(--ink);color:#fff}
.block{scroll-margin-top:130px}
.block>.card{margin-top:14px}
.block h2{font-size:23px;margin-top:34px}
@media(max-width:1000px){.sp{grid-template-columns:minmax(0,1fr)}.idcard{position:static}}

/* charts */
.chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.chart-head .ret{font:700 15px var(--text)}
.chart{position:relative;margin-top:12px}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart .grid{stroke:var(--rule);stroke-width:1}
.chart .axis{font:500 11.5px var(--text);fill:var(--mute)}
.chart .tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;border-radius:7px;padding:7px 10px;font:500 12.5px/1.35 var(--text);white-space:nowrap;opacity:0;transition:opacity .12s;transform:translate(-50%,-100%);margin-top:-12px;z-index:5}
.chart .tip.on{opacity:1}.chart .tip b{font-weight:700;display:block;font-size:13.5px}
.ranges{display:flex;gap:4px;flex-wrap:wrap;margin-top:12px;border:1px solid var(--rule);border-radius:999px;padding:4px;width:max-content;max-width:100%}
.ranges button{border:0;background:transparent;font:700 13px var(--text);color:var(--ink-2);padding:7px 12px;border-radius:999px;cursor:pointer}
.ranges button[aria-pressed="true"]{background:var(--ink);color:#fff}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink-2);margin-top:10px}
.legend i{display:inline-block;width:12px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}

/* check-up */
.checkup{display:grid;gap:0}
.ck{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1.1fr);gap:8px 22px;align-items:center;padding:16px 0;border-bottom:1px solid var(--rule)}
.ck:last-child{border-bottom:0}
.ck h3{font:700 15.5px var(--text)}
.ck .val{font:800 22px/1.15 var(--display)}
.ck p{margin:2px 0 0;font-size:13.5px;color:var(--ink-2)}
.scale{position:relative;height:40px}
.scale .ln{position:absolute;left:0;right:0;top:18px;height:4px;border-radius:2px;background:var(--sunk)}
.scale .dot{position:absolute;top:12px;width:16px;height:16px;border-radius:50%;transform:translateX(-50%);border:3px solid #fff;box-shadow:0 0 0 1px var(--rule-2)}
.scale .dot.me{background:var(--brand);z-index:2}
.scale .dot.ref{background:#9AA0A6;width:12px;height:12px;top:14px}
.scale .lab{position:absolute;top:30px;transform:translateX(-50%);font:600 11px var(--text);color:var(--mute);white-space:nowrap}
.scale .lab.me{top:-4px;color:var(--brand-deep)}
.scale .lab.l{transform:translateX(-10px)}
.scale .lab.r{transform:translateX(calc(-100% + 10px))}
@media(max-width:700px){.ck{grid-template-columns:minmax(0,1fr)}.scale{margin-top:6px}}

/* signals */
.signals{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sig h3{display:flex;justify-content:space-between;align-items:center;font-size:17px;padding:14px 16px;border-radius:var(--r) var(--r) 0 0}
.sig.pos h3{background:var(--up-soft);color:#0A5A32}.sig.neg h3{background:var(--down-soft);color:#8E2020}
.sig h3 b{font:800 13px var(--text);min-width:24px;height:24px;display:inline-grid;place-items:center;border-radius:999px;color:#fff}
.sig.pos h3 b{background:var(--up)}.sig.neg h3 b{background:var(--down)}
.sig ul{list-style:none;margin:0;padding:6px 16px 10px}
.sig li{padding:11px 0;border-bottom:1px solid var(--rule);font-size:14.5px}
.sig li:last-child{border-bottom:0}
.sig li b{display:block;font-weight:700}
.sig li span{color:var(--ink-2);font-size:13.5px}
@media(max-width:800px){.signals{grid-template-columns:1fr}}

/* financials */
.fin-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.fin-tbl td:first-child,.fin-tbl th:first-child{position:sticky;left:0;background:var(--card);z-index:1;min-width:170px;box-shadow:1px 0 0 var(--rule)}
.fin-tbl td.neg{color:var(--down)}
.fin-tbl tr.em td{font-weight:700}
.fin-tbl tr.sub td:first-child{padding-left:24px;color:var(--ink-2)}
.minis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.minis .card{padding:16px}
.minis h3{font:700 14px var(--text);color:var(--ink-2)}
.minis .big{font:800 22px var(--display);margin-top:4px}
@media(max-width:800px){.minis{grid-template-columns:1fr}}

/* shareholding */
.shp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px}
.shbar{display:grid;grid-template-columns:150px 1fr 60px;gap:8px 12px;align-items:center;font-size:14px;margin-top:12px}
.shbar .t{height:12px;border-radius:3px;background:var(--sunk);overflow:hidden}
.shbar .t i{display:block;height:100%;border-radius:3px}
.shbar b{text-align:right;font-weight:700}
.shtrend{display:grid;gap:10px;margin-top:4px}
.shtrend div{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.shtrend b{display:block}
@media(max-width:800px){.shp{grid-template-columns:1fr}}

/* events, filings, faq */
.divs{display:grid;gap:0}
.divs div{display:grid;grid-template-columns:30px minmax(0,1fr) 84px 112px;gap:10px 18px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule)}
.divs div>span:nth-child(3),.divs div>span:nth-child(4){text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:560px){.divs div{grid-template-columns:30px minmax(0,1fr) 62px 92px;gap:8px 10px}}
.divs div:last-child{border-bottom:0}
.divs .ico{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--warn-soft);color:var(--warn);font-weight:800}
.filings{display:grid;gap:12px}
.fil{padding:14px 16px}
.fil .row span{font-size:12.5px;color:var(--mute)}
.fil h3{font:700 15px var(--text);margin-top:6px}
.fil p{margin:6px 0 0;font-size:13.5px;color:var(--ink-2);background:var(--paper);border-radius:7px;padding:9px 11px}
.fil a{font:600 13px var(--text);color:var(--brand-deep)}
.reports{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}
.report{flex:0 0 220px;padding:14px 16px}
.report b{display:block;font-family:var(--display);font-size:16px}
.report a{display:inline-flex;margin-top:8px;font:600 13px var(--text);color:var(--brand-deep)}
.faq details{border-bottom:1px solid var(--rule);padding:0 4px}
.faq summary{cursor:pointer;list-style:none;display:flex;gap:12px;align-items:center;padding:15px 0;font:600 15px var(--text)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-deep);font:700 16px/1 var(--text)}
.faq details[open] summary::before{content:"−"}
.faq details p{margin:0 0 16px 36px;color:var(--ink-2)}

/* footer */
.foot{background:var(--ink);color:#C9CCC8;margin-top:40px}
.foot .wrap{padding-block:34px;display:grid;grid-template-columns:1fr auto;gap:20px}
.foot .wm{color:#fff}
.foot p{margin:10px 0 0;font-size:13.5px;max-width:70ch}
.foot a{color:#fff}
.foot .links{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start;font-size:14px}
@media(max-width:700px){.foot .wrap{grid-template-columns:1fr}}

/* stock list page */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.page-h{margin-top:26px}.page-h h1{font-size:clamp(28px,3.4vw,40px)}

/* homepage index sparklines: value and date under the pointer */
.spark{position:relative;margin-top:10px;cursor:crosshair;touch-action:pan-y}
.spark svg{width:100%;height:46px;display:block}
.spark .mk{position:absolute;width:9px;height:9px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--rule-2);transform:translate(-50%,-50%);opacity:0;pointer-events:none}
.spark .tip{position:absolute;bottom:100%;pointer-events:none;background:var(--ink);color:#fff;border-radius:7px;padding:6px 9px;font:500 12px/1.35 var(--text);white-space:nowrap;opacity:0;transition:opacity .12s;transform:translateX(-50%);margin-bottom:6px;z-index:5}
.spark .tip b{font-weight:700;display:block;font-size:13px}
.spark.on .mk,.spark.on .tip{opacity:1}
