/* Layout concept: research terminal — dense top bar, one working column, tables in their own scroll wells, charts as evidence beside numbers */
/* Layout concept: Integrato research desk — navy ink on cream paper, gold used only for signal; dense tables in their own wells, charts beside the numbers they prove */
:root{
  --bg:#FAF8F3; --surface:#FFFFFF; --surface-2:#F4F0E6; --ink:#0B1F3A; --ink-2:#2B3C57; --muted:#5A6478; --line:#E4DCC8; --grid:#EFE9DA;
  --accent:#1B4A7A; --accent-ink:#FFFFFF; --accent-soft:#E6EDF5; --pri:#0B1F3A; --pri-ink:#FAF8F3; --gold:#C9A84C; --signal:#9A7419; --signal-soft:#F5EDD4;
  --pos:#1D7A4D; --neg:#B0343C; --warn:#94650A; --pos-soft:#E2F1E8; --neg-soft:#F8E4E5;
  --c1:#0B1F3A; --c2:#9AA3B2; --c3:#C9A84C; --c4:#2E7D6B; --c5:#7A4F9A; --c6:#B04A5A;
  --font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-data:"DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --r:6px; --shadow:0 1px 2px rgba(11,31,58,.06), 0 6px 20px rgba(11,31,58,.06); --chrome-top:0px;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#07111E; --surface:#0C1B30; --surface-2:#12253F; --ink:#F1EDE2; --ink-2:#D2CBB9; --muted:#98A2B3; --line:#223A5C; --grid:#172C48;
  --accent:#E2C87A; --accent-ink:#0B1F3A; --accent-soft:#26344A; --pri:#E2C87A; --pri-ink:#0B1F3A; --gold:#E2C87A; --signal:#E2C87A; --signal-soft:#2A2616;
  --pos:#57C492; --neg:#EF8087; --warn:#E3B55A; --pos-soft:#12301F; --neg-soft:#3A181B;
  --c1:#E2C87A; --c2:#7F8B9E; --c3:#6FB2E6; --c4:#57C4A8; --c5:#B394E0; --c6:#EF8FA0;
  --shadow:0 1px 2px rgba(0,0,0,.4); color-scheme:dark; } }
:root[data-theme="dark"]{
  --bg:#07111E; --surface:#0C1B30; --surface-2:#12253F; --ink:#F1EDE2; --ink-2:#D2CBB9; --muted:#98A2B3; --line:#223A5C; --grid:#172C48;
  --accent:#E2C87A; --accent-ink:#0B1F3A; --accent-soft:#26344A; --pri:#E2C87A; --pri-ink:#0B1F3A; --gold:#E2C87A; --signal:#E2C87A; --signal-soft:#2A2616;
  --pos:#57C492; --neg:#EF8087; --warn:#E3B55A; --pos-soft:#12301F; --neg-soft:#3A181B;
  --c1:#E2C87A; --c2:#7F8B9E; --c3:#6FB2E6; --c4:#57C4A8; --c5:#B394E0; --c6:#EF8FA0;
  --shadow:0 1px 2px rgba(0,0,0,.4); color-scheme:dark; }

*{box-sizing:border-box}
body{background:var(--bg); color:var(--ink); font:14px/1.5 var(--font-ui); -webkit-font-smoothing:antialiased}
a{color:var(--accent); text-decoration:none} a:hover{text-decoration:underline}
button{font:inherit; color:inherit}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
.num,.mono{font-family:var(--font-data); font-variant-numeric:tabular-nums; font-size:.93em}
h1,h2,h3{text-wrap:balance; margin:0}
.wrap{max-width:1320px; margin:0 auto; padding-inline:clamp(16px,3vw,32px)}

/* top bar */
.topbar{position:sticky; top:calc(env(safe-area-inset-top,0px) + var(--chrome-top)); z-index:30; background:var(--surface); border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex; align-items:center; gap:18px; min-height:56px; flex-wrap:wrap; padding-block:8px}
.brand{display:flex; align-items:baseline; gap:10px; cursor:pointer; white-space:nowrap}
.brand .co{font:600 10.5px/1 var(--font-ui); letter-spacing:.16em; color:var(--muted)}
.brand .prod{font:700 23px/1 var(--font-display); letter-spacing:.02em}
.brand .prod b{color:var(--ink); font-weight:700} .brand .prod i{font-style:normal; color:var(--gold)}
nav.main{display:flex; gap:2px; overflow-x:auto; flex:1 1 auto; min-width:0; scrollbar-width:none}
nav.main button{background:none; border:0; padding:8px 10px; border-radius:var(--r); color:var(--ink-2); cursor:pointer; white-space:nowrap; font-weight:500}
nav.main button:hover{background:var(--surface-2)}
nav.main button.on{color:var(--accent); background:var(--accent-soft)}
.tsearch{position:relative; flex:0 1 250px; min-width:170px}
.tsearch input,.bigsearch input{width:100%; border:1px solid var(--line); background:var(--surface-2); color:var(--ink); border-radius:var(--r); padding:8px 10px 8px 32px; font:inherit}
.tsearch svg,.bigsearch svg{position:absolute; left:10px; top:50%; transform:translateY(-50%); color:var(--muted)}
.seg{display:inline-flex; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; flex:none}
.seg button{border:0; background:var(--surface); padding:6px 10px; cursor:pointer; color:var(--muted); font-size:12.5px; font-weight:500}
.seg button.on{background:var(--pri); color:var(--pri-ink)}
.ribbon{background:var(--signal-soft); color:var(--ink-2); border-bottom:1px solid var(--line); font-size:12.5px}
.ribbon .wrap{display:flex; gap:14px; align-items:center; padding-block:6px; flex-wrap:wrap}
.ribbon b{color:var(--signal); font-weight:600; letter-spacing:.06em; font-size:11px; text-transform:uppercase}
.dot{display:inline-block; width:8px; height:8px; border-radius:50%; vertical-align:middle}
.linkbtn{background:none; border:0; padding:0; color:var(--accent); cursor:pointer; text-decoration:underline; text-underline-offset:2px}

/* suggestions */
.sugg{position:absolute; left:0; right:0; top:calc(100% + 4px); background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); max-height:420px; overflow:auto; z-index:40}
.sugg .it{display:flex; justify-content:space-between; gap:12px; padding:8px 12px; cursor:pointer; align-items:baseline}
.sugg .it.hl,.sugg .it:hover{background:var(--accent-soft)}
.sugg .ty{font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; white-space:nowrap}
.sugg .sub{color:var(--muted); font-size:12px}

main{padding-block:24px 64px}
.eyebrow{font:600 11px/1.2 var(--font-ui); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
.h-display{font:600 clamp(34px,4.8vw,54px)/1.04 var(--font-display); letter-spacing:-.005em}
.h-page{font:600 clamp(28px,3.4vw,38px)/1.1 var(--font-display)}
.h-sec{font:600 15px/1.3 var(--font-ui); display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.lede{color:var(--ink-2); font-size:16px; max-width:62ch}
.muted{color:var(--muted)} .small{font-size:12.5px} .tiny{font-size:11.5px}
.stack{display:flex; flex-direction:column; gap:16px}
.row{display:flex; gap:12px; flex-wrap:wrap; align-items:center}
.grid{display:grid; gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.panel{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:16px; min-width:0}
.panel > .h-sec{margin-bottom:12px}
.panel.flat{background:transparent; border:0; padding:0}
.sep{height:1px; background:var(--line); margin-block:8px}

/* hero */
.hero{padding-block:28px 8px; display:grid; gap:18px} .hero .eyebrow{color:var(--signal)}
.bigsearch{position:relative; max-width:760px}
.bigsearch input{font-size:17px; padding:14px 14px 14px 42px; background:var(--surface); box-shadow:var(--shadow)}
.bigsearch svg{left:14px}
.chips{display:flex; gap:6px; flex-wrap:wrap}
.chip{border:1px solid var(--line); background:var(--surface); border-radius:999px; padding:4px 10px; font-size:12.5px; cursor:pointer; color:var(--ink-2); display:inline-flex; gap:6px; align-items:center}
.chip:hover{border-color:var(--accent); color:var(--accent)}
.chip.static{cursor:default} .chip.static:hover{border-color:var(--line); color:var(--ink-2)}
.chip.on{background:var(--accent-soft); border-color:var(--accent); color:var(--accent)}
.chip .x{border:0; background:none; cursor:pointer; color:var(--muted); padding:0 0 0 2px; font-size:14px; line-height:1}
.tools{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr)); gap:8px}
.tool{display:flex; flex-direction:column; gap:2px; text-align:left; border:1px solid var(--line); background:var(--surface); border-radius:var(--r); padding:10px 12px; cursor:pointer}
.tool:hover:not([disabled]){border-color:var(--accent)}
.tool b{font-weight:600; font-size:13.5px} .tool span{font-size:12px; color:var(--muted)}
.tool[disabled]{cursor:not-allowed; opacity:.62}
.tag{display:inline-block; font:600 10px/1 var(--font-ui); letter-spacing:.08em; text-transform:uppercase; padding:3px 6px; border-radius:3px; background:var(--surface-2); color:var(--muted); white-space:nowrap}
.tag.synth{background:var(--signal-soft); color:var(--signal)}
.tag.calc{background:var(--accent-soft); color:var(--accent)}
.tag.src{background:var(--pos-soft); color:var(--pos)}
.tag.der{background:var(--surface-2); color:var(--ink-2); border:1px dashed var(--muted)}
.tag.flag{background:var(--neg-soft); color:var(--neg)}
.tag.obs{background:var(--pos-soft); color:var(--pos)}

/* stat tiles */
.tiles{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:0; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; align-content:start}
.tile{background:var(--surface); padding:12px 14px; min-width:0; box-shadow:1px 1px 0 var(--line); margin:0 1px 1px 0}
.tile .k{font-size:11.5px; color:var(--muted); display:flex; gap:4px; align-items:center}
.tile .v{font:500 20px/1.25 var(--font-data); font-variant-numeric:tabular-nums; margin-top:2px}
.tile .s{font-size:11.5px; color:var(--muted)}
.pos{color:var(--pos)} .neg{color:var(--neg)}
.na{color:var(--muted); font-style:italic; font-family:var(--font-ui); font-size:12px}

/* tables */
.tw{overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); background:var(--surface)}
table.t{border-collapse:separate; border-spacing:0; width:100%; font-size:13px}
.t th,.t td{padding:7px 10px; border-bottom:1px solid var(--grid); text-align:right; white-space:nowrap}
.t th{font-weight:600; font-size:11.5px; color:var(--muted); background:var(--surface); position:sticky; top:0; z-index:1; letter-spacing:.02em}
.t th.sortable{cursor:pointer} .t th.sortable:hover{color:var(--ink)}
.t th:first-child,.t td:first-child{text-align:left; position:sticky; left:0; background:var(--surface); z-index:2}
.t th:first-child{z-index:3}
.t td.l,.t th.l{text-align:left}
.t tr.click{cursor:pointer} .t tr.click:hover td{background:var(--surface-2)}
.t tbody tr:last-child td{border-bottom:0}
.t td .fn{font-weight:500; color:var(--ink)} .t td .fs{font-size:11.5px; color:var(--muted)}
.t .grp td{background:var(--surface-2); font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); text-align:left}
.t .hi{background:var(--accent-soft)}
.info{border:0; background:none; cursor:pointer; color:var(--muted); padding:0 2px; font:600 11px/1 var(--font-ui); display:inline-flex; align-items:center}
.info:hover{color:var(--accent)}
.info svg{width:13px; height:13px}

/* buttons & inputs */
.btn{border:1px solid var(--line); background:var(--surface); border-radius:var(--r); padding:7px 12px; cursor:pointer; font-weight:500; display:inline-flex; gap:6px; align-items:center; white-space:nowrap}
.btn:hover{border-color:var(--accent); color:var(--accent)}
.btn.pri{background:var(--pri); color:var(--pri-ink); border-color:var(--pri)} .btn.pri:hover{filter:brightness(1.15); color:var(--pri-ink)}
.btn.sm{padding:4px 9px; font-size:12.5px}
.btn.on{background:var(--accent-soft); border-color:var(--accent); color:var(--accent)}
input.in,select.in,textarea.in{border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:var(--r); padding:7px 9px; font:inherit; min-width:0}
textarea.in{width:100%; resize:vertical; font-family:var(--font-data); font-size:13px; line-height:1.5}
label.fld{display:flex; flex-direction:column; gap:4px; font-size:12px; color:var(--muted)}

/* tabs */
.tabs{display:flex; gap:0; border-bottom:1px solid var(--line); overflow-x:auto; scrollbar-width:thin}
.tabs button{border:0; background:none; padding:10px 14px; cursor:pointer; color:var(--muted); font-weight:500; border-bottom:2px solid transparent; white-space:nowrap}
.tabs button.on{color:var(--ink); border-bottom-color:var(--gold)}
.tabs button:hover{color:var(--ink)}

/* fund header */
.fhead{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:start}
@media (max-width:820px){ .fhead{grid-template-columns:1fr} }
.fname{font:600 clamp(26px,3.4vw,38px)/1.1 var(--font-display)}
.navbox{display:flex; gap:22px; flex-wrap:wrap; align-items:flex-end}
.navbox .big{font:500 25px/1 var(--font-data)}
.crumbs{font-size:12.5px; color:var(--muted); display:flex; gap:6px; flex-wrap:wrap}
.crumbs button{background:none; border:0; padding:0; color:var(--accent); cursor:pointer}

.chart{width:100%; height:300px}
.chart.sm{height:220px} .chart.lg{height:360px}
.bars{display:flex; flex-direction:column; gap:6px}
.bar{display:grid; grid-template-columns:minmax(90px,150px) 1fr 54px; gap:8px; align-items:center; font-size:12.5px}
.bar .tr{height:10px; background:var(--surface-2); border-radius:2px; position:relative; overflow:hidden}
.bar .fl{position:absolute; left:0; top:0; bottom:0; background:var(--c1); border-radius:2px}
.bar .mk{position:absolute; top:-2px; bottom:-2px; width:2px; background:var(--ink)}
.stackbar{display:flex; height:14px; border-radius:3px; overflow:hidden; background:var(--surface-2)}
.stackbar span{display:block; height:100%}
.legend{display:flex; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--muted)}
.legend i{display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:5px; vertical-align:-1px}

.list{display:flex; flex-direction:column}
.list .li{display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--grid); align-items:baseline}
.list .li:last-child{border-bottom:0}
.list .li button{background:none; border:0; padding:0; text-align:left; cursor:pointer; color:var(--ink); font-weight:500}
.list .li button:hover{color:var(--accent)}
.flag{display:grid; grid-template-columns:auto 1fr; gap:10px; padding:9px 0; border-bottom:1px solid var(--grid); align-items:start; font-size:13px}
.flag:last-child{border-bottom:0}
.summary{font:500 19px/1.55 var(--font-display); color:var(--ink); max-width:75ch}
.summary p{margin:0 0 10px}
.check{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:4px 18px; font-size:13px}
.check label{display:flex; gap:8px; align-items:center; padding:3px 0}
.timeline{display:flex; flex-direction:column; border-left:2px solid var(--line); margin-left:6px}
.timeline .ev{position:relative; padding:0 0 14px 18px}
.timeline .ev::before{content:""; position:absolute; left:-6px; top:5px; width:10px; height:10px; border-radius:50%; background:var(--surface); border:2px solid var(--accent)}
.timeline .ev .d{font:500 12px var(--font-data); color:var(--muted)}

/* query box */
.qbox{display:grid; gap:10px}
.qbox textarea{min-height:66px; font-size:14px}
.filters{display:flex; gap:6px; flex-wrap:wrap; align-items:center}
.fchip{display:inline-flex; gap:6px; align-items:center; border:1px solid var(--accent); background:var(--accent-soft); color:var(--accent); border-radius:4px; padding:3px 4px 3px 8px; font:500 12.5px var(--font-data)}
.fchip.cat{border-color:var(--ink-2); color:var(--ink-2); background:var(--surface-2); font-family:var(--font-ui)}
.fchip button{border:0; background:none; cursor:pointer; color:inherit; font-size:15px; line-height:1; padding:0 4px}

/* heatmap */
.hm{border-collapse:separate; border-spacing:2px; font-size:12.5px}
.hm th{font-weight:500; color:var(--muted); padding:4px 6px; text-align:left; white-space:nowrap; max-width:180px; overflow:hidden; text-overflow:ellipsis}
.hm td{width:70px; height:44px; text-align:center; font-family:var(--font-data); border-radius:3px; cursor:pointer; font-variant-numeric:tabular-nums}
.hm td.self{cursor:default; background:var(--surface-2); color:var(--muted)}
.hm td.sel{outline:2px solid var(--ink)}

/* modal */
.scrim{position:fixed; inset:0; background:rgba(8,14,24,.45); z-index:60; display:flex; align-items:flex-start; justify-content:center; padding:max(40px,env(safe-area-inset-top,0px)) 16px 16px; overflow:auto}
.modal{background:var(--surface); border:1px solid var(--line); border-radius:8px; max-width:640px; width:100%; padding:20px 22px; box-shadow:0 12px 40px rgba(0,0,0,.25)}
.modal h3{font:600 26px/1.15 var(--font-display); margin-bottom:10px}
.modal dl{display:grid; grid-template-columns:130px 1fr; gap:6px 12px; margin:12px 0; font-size:13px}
.modal dt{color:var(--muted)} .modal dd{margin:0}
.toast{position:fixed; bottom:calc(20px + env(safe-area-inset-bottom,0px)); left:50%; transform:translateX(-50%); background:var(--ink); color:var(--bg); padding:9px 16px; border-radius:6px; z-index:70; font-size:13px}

footer.foot{border-top:1px solid var(--line); background:var(--surface); font-size:12px; color:var(--muted)}
footer.foot .wrap{padding-block:20px; display:grid; gap:8px}
.kv{display:grid; grid-template-columns:auto 1fr; gap:4px 14px; font-size:13px} .kv dt{color:var(--muted)} .kv dd{margin:0}
.riskm{display:flex; align-items:center; gap:10px}
.drop{position:relative}
.menu{position:absolute; right:0; top:calc(100% + 4px); background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); min-width:220px; z-index:45; padding:6px}
.menu button{display:block; width:100%; text-align:left; background:none; border:0; padding:7px 10px; border-radius:4px; cursor:pointer}
.menu button:hover{background:var(--surface-2)}
@media (max-width:640px){ .tsearch{flex:1 1 100%; order:5} .t th,.t td{padding:6px 8px} .bar{grid-template-columns:90px 1fr 48px} }
@media (prefers-reduced-motion:no-preference){ .fade{animation:fd .18s ease-out} @keyframes fd{from{opacity:.4}to{opacity:1}} }

/* compact chrome on phones; site mode drops the duplicate wordmark */
.site .brand .co{display:none}
@media (max-width:640px){
  .topbar .wrap{gap:8px 10px; min-height:0}
  .brand{order:1} .seg{order:2; margin-left:auto} nav.main{order:3; flex:1 1 100%} .tsearch{order:4}
  .brand .co{display:none}
  .ribbon .rib-long{display:none}
  .ribbon .wrap{gap:10px; padding-block:5px}
  .h-display{font-size:32px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== v38: non-sticky menu, one master search, compact investor-first home ===== */
.topbar{position:static}
.view-home .tsearch{display:none}
.totop{position:fixed; left:calc(14px + env(safe-area-inset-left,0px)); bottom:calc(16px + env(safe-area-inset-bottom,0px)); z-index:50; width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:var(--surface); color:var(--ink); box-shadow:var(--shadow); cursor:pointer; font:600 17px/1 var(--font-ui); opacity:.9}
.totop:hover{opacity:1; border-color:var(--accent)}
main{padding-block:14px 48px}
main > section, main > .grid{margin-top:14px}
main > .panel, main section.panel{scroll-margin-top:78px}
.panel{padding:14px}
.stack{gap:12px}
.grid{gap:14px}
.hero{padding-block:10px 2px; gap:10px}
.h-display{font-size:clamp(28px,3.6vw,42px)}
.lede{font-size:15px}
.bigsearch{max-width:820px}
.bigsearch input{padding:13px 70px 13px 42px}
.bigsearch .kbd{position:absolute; right:12px; top:50%; transform:translateY(-50%); font:500 11px var(--font-data); color:var(--muted); border:1px solid var(--line); border-radius:4px; padding:2px 6px; background:var(--surface-2); pointer-events:none}
.chip{padding:3px 10px; font-size:12.5px}
.hstats{display:flex; gap:6px 18px; flex-wrap:wrap; font-size:12.5px; color:var(--muted)}
.hstats b{color:var(--ink); font-weight:500}
.hstats .linkbtn{text-decoration:none; color:var(--muted)} .hstats .linkbtn b{color:var(--pos)}
.sugg{max-height:min(460px,70vh)}
.sugg .sugg-hd{padding:8px 12px 4px; font-size:12px; color:var(--muted)}
.sugg .sugg-g{padding:8px 12px 2px; font:600 10.5px/1.2 var(--font-ui); letter-spacing:.12em; text-transform:uppercase; color:var(--signal)}
.sugg .it.pr{padding:6px 12px 6px 18px; align-items:center}
.sugg .it.scr{background:var(--signal-soft)} .sugg .it.scr.hl{background:var(--accent-soft)}
.seg.sm button{padding:4px 9px; font-size:12px}
.tabs.tight button{padding:7px 11px; font-size:13px}
.flash{animation:flash 1.4s ease-out} @keyframes flash{0%{box-shadow:0 0 0 3px var(--gold)}100%{box-shadow:0 0 0 0 transparent}}
/* markets */
.hero > *{min-width:0}
.mkt{display:grid; grid-template-columns:minmax(0,1fr); gap:14px; align-items:start}
.t.tc th,.t.tc td{padding:6px 6px; font-size:12.5px}
.t.tc .fs{font-size:10.5px; max-width:180px; overflow:hidden; text-overflow:ellipsis}
.lgsw{display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:6px; vertical-align:0}
.mkt-read{margin-top:12px; padding:10px 14px; border-left:3px solid var(--gold); background:var(--signal-soft); border-radius:0 var(--r) var(--r) 0}
.mkt-read ul{margin:6px 0 6px; padding-left:18px; font-size:13px; line-height:1.6; color:var(--ink-2)}
.mkt-read li{margin-bottom:3px}
.mkt-read .more{display:none; margin-bottom:6px}
@media (max-width:640px){ .mkt-read .more{display:inline-block} }
@media (max-width:1100px){ .mkt{grid-template-columns:minmax(0,1fr)} }
/* NFO */
.panel.nfo{border:1px solid var(--gold); background:linear-gradient(180deg,var(--signal-soft) 0,var(--surface) 90px)}
.nfgrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr)); gap:8px}
.nfc{border:1px solid var(--line); background:var(--surface); border-radius:var(--r); padding:10px 12px; display:flex; flex-direction:column; gap:4px; min-width:0}
.nfc h4{margin:2px 0 0; font:600 14px/1.3 var(--font-ui); color:var(--ink)}
.nfc dl{display:grid; grid-template-columns:auto 1fr; gap:2px 10px; margin:4px 0; font-size:12px}
.nfc dt{color:var(--muted)} .nfc dd{margin:0; min-width:0; overflow:hidden; text-overflow:ellipsis}
.nfc .tag{white-space:normal; line-height:1.3}
.nb{font:600 10.5px/1 var(--font-ui); padding:4px 7px; border-radius:999px; background:var(--pos-soft); color:var(--pos); white-space:nowrap}
.nb.hot{background:var(--neg-soft); color:var(--neg)} .nb.soon{background:var(--accent-soft); color:var(--accent)} .nb.cl{background:var(--surface-2); color:var(--muted)}
/* trending */
.trgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:10px 18px; margin-top:10px}
.trc .how{margin:2px 0 4px; min-height:2.6em}
.trc .list .li{padding:6px 0}
.trc .li .fs{display:block; font-size:11px; color:var(--muted)}
.trc .linkbtn{margin-top:4px}
/* scheme changes */
.evtiles{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(46%,120px),1fr)); gap:6px; margin-bottom:8px}
.evt{border:1px solid var(--line); background:var(--surface); border-radius:var(--r); padding:6px 10px; text-align:left; cursor:pointer; display:flex; flex-direction:column}
.evt b{font-size:18px; font-weight:500} .evt span{font-size:11.5px; color:var(--muted)}
.evt.on{border-color:var(--accent); background:var(--accent-soft)}
.evl .li{padding:7px 0}
.tag.ev-pos{background:var(--pos-soft); color:var(--pos)} .tag.ev-neg{background:var(--neg-soft); color:var(--neg)} .tag.ev-warn{background:var(--signal-soft); color:var(--warn)} .tag.ev-acc{background:var(--accent-soft); color:var(--accent)}
.big2{font-size:20px}
.bars.cols2{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:5px 22px}
.panel.cta{border-color:var(--gold)}
.tools{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr)); gap:6px}
.tool{padding:8px 10px}
/* screener */
.scr-help{display:grid; gap:8px}
.scr-try{display:flex; gap:6px; flex-wrap:wrap; align-items:center}
.scr-try > span{white-space:nowrap}
.tsearch{flex:0 1 360px}
.scr-caps{display:flex; flex-wrap:wrap; gap:4px 16px; font-size:11.5px; color:var(--muted)}
.scr-caps b{color:var(--ink-2); font-weight:600}
.gobtn{margin-left:auto}
.scr-prog{border:1px solid var(--line); border-radius:var(--r); background:var(--surface); padding:12px 14px; display:grid; gap:8px; font-size:13px; color:var(--ink-2)}
.bar2{height:6px; border-radius:3px; background:var(--surface-2); overflow:hidden}
.bar2 i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--gold),var(--accent)); animation:prog .8s ease-out forwards}
@keyframes prog{to{width:100%}}
.scr-done{border:1px solid var(--pos); background:var(--pos-soft); color:var(--ink); border-radius:var(--r); padding:10px 14px; font-size:13.5px}
@media (max-width:640px){
  .panel{padding:12px}
  .hero{padding-top:6px}
  .h-display{font-size:27px}
  .lede{font-size:14px}
  .bigsearch input{font-size:15px; padding:12px 12px 12px 40px}
  .bigsearch .kbd{display:none}
  .chips{flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; scrollbar-width:none}
  .chip{white-space:nowrap}
  .trc .how{min-height:0}
  .mkt-read:not(.open) li:nth-child(n+3){display:none}
  .seg.sm{max-width:100%; overflow-x:auto; scrollbar-width:none}
  .seg.sm button{white-space:nowrap}
  .gobtn{margin-left:0; width:100%; justify-content:center}
  .scr-try{flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none}
  .tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tool span{font-size:11px}
  #ch-mkt{height:240px !important}
}

/* ===== v39: chart tools, full-screen charts, returns strip, motion, simulators ===== */
.chtools{display:flex; align-items:center; gap:8px; margin:0 0 4px; min-height:24px}
.chtools .chp{display:inline-flex; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; flex:none}
.chtools .chp button{border:0; background:var(--surface); color:var(--muted); font:500 11px var(--font-ui); padding:3px 7px; cursor:pointer}
.chtools .chp button.on{background:var(--pri); color:var(--pri-ink)}
.chtools .chhint{flex:1; font-size:10.5px; color:var(--muted); text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.chtools .chx{flex:none; border:1px solid var(--line); background:var(--surface); color:var(--ink-2); border-radius:var(--r); width:26px; height:24px; cursor:pointer; font-size:14px; line-height:1}
.chtools .chx:hover{border-color:var(--accent); color:var(--accent)}
@media (max-width:640px){ .chtools .chhint{display:none} .chtools{justify-content:space-between} }
.chfull{position:fixed; inset:0; z-index:80; background:rgba(8,14,24,.6); display:flex; padding:max(12px,env(safe-area-inset-top,0px)) 12px 12px}
.chf-in{background:var(--surface); border-radius:10px; flex:1; display:flex; flex-direction:column; padding:12px 14px; min-width:0}
.chf-hd{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:6px} .chf-hd b{font-size:15px; margin-right:auto}
.chf-ch{flex:1; min-height:260px}
.rets{display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:6px}
.rc{border:1px solid var(--line); border-radius:var(--r); padding:8px 8px 6px; background:var(--surface); text-align:center; min-width:0}
.rc .rl{font-size:11px; color:var(--muted); font-weight:600; letter-spacing:.02em} .rc .rl span{font-weight:400}
.rc .rv{font-size:17px; font-weight:500; margin:2px 0} .rc.up .rv{color:var(--pos)} .rc.dn .rv{color:var(--neg)} .rc.nil .rv{color:var(--muted)}
.rc.up{border-bottom:3px solid var(--pos)} .rc.dn{border-bottom:3px solid var(--neg)}
.rc .rm{font-size:10.5px; color:var(--muted)}
@media (max-width:760px){ .rets{grid-template-columns:repeat(4,minmax(0,1fr))} .rc .rv{font-size:15px} }
.colpre{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.qwrap{display:grid; gap:6px; margin-bottom:10px}
.qchips{display:flex; gap:6px; align-items:center; flex-wrap:wrap} .qchips > span{min-width:58px}
.sim-head{border-left:3px solid var(--gold); background:var(--signal-soft)}
.sim-head p{margin:0; font-size:14px; line-height:1.65; color:var(--ink)}
.kpis{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr)); gap:8px; margin-top:10px}
.kpi{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:8px 10px; display:flex; flex-direction:column; gap:2px}
.kpi b{font:500 17px var(--font-data)} .kpi span{font-size:11.5px; color:var(--muted)}
.exgrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr)); gap:8px}
.exc{text-align:left; border:1px solid var(--line); background:var(--surface); border-radius:var(--r); padding:10px 12px; cursor:pointer; display:flex; flex-direction:column; gap:3px}
.exc:hover{border-color:var(--gold); background:var(--signal-soft)} .exc b{font-size:13px; font-weight:600; color:var(--ink)} .exc span{font-size:11.5px; color:var(--muted)}
.pf-ins ol{margin:0; padding-left:20px; font-size:13.5px; line-height:1.65; color:var(--ink-2)} .pf-ins li{margin-bottom:4px}
details.amcs summary{cursor:pointer; color:var(--accent)}
.amcgrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr)); gap:4px 16px; margin-top:8px; font-size:12px}
.amcgrid b{font-weight:500}
@media (prefers-reduced-motion:no-preference){
  .rvl{opacity:0; transform:translateY(14px); transition:opacity .55s ease, transform .55s ease}
  .rvl.rvin{opacity:1; transform:none}
  .bar .fl{transform-origin:left; animation:grow .8s cubic-bezier(.2,.7,.2,1)}
  @keyframes grow{from{transform:scaleX(0)}}
  .rc,.kpi,.exc,.nfc{animation:pop .45s ease-out both}
  @keyframes pop{from{opacity:0; transform:translateY(6px)}}
}
@media print{.rvl{opacity:1!important;transform:none!important}}
.fhead > *{min-width:0} @media (max-width:820px){ .fhead{grid-template-columns:minmax(0,1fr)} } .fname{overflow-wrap:anywhere}
/* integrato.in site-chrome bridge */
#site-top,#site-bottom{--navy:#0B1F3A;--navy-light:#132d54;--gold:#C9A84C;--gold-light:#E2C87A;--gold-pale:#F5EDD4;--cream:#FAF8F3;--white:#FFFFFF;--text:#1A1A2E;--border:rgba(201,168,76,0.25);font-family:'DM Sans',sans-serif}
#site-top ul,#site-bottom ul{list-style:none;margin:0;padding:0}
#site-top *,#site-bottom *{box-sizing:border-box}
#site-top a,#site-bottom a{text-decoration:none}
#site-bottom p{margin:0}
