/* Generated by _build/build_site.py from the base stylesheet + en.css. Edit those, then rebuild. */

:root{
  --bg:#f5f7f6; --surface:#ffffff; --raise:#eef2f0; --fg:#1d2a27; --muted:#5c6b67; --line:#d6dedb; --accent:#2E6B4F;
  --c1:#2f7d6d; --c2:#5a55b5; --c3:#c0492f; --c4:#b07a12; --c5:#3d6fa8; --c6:#9a3f7e; --c7:#6f7d10; --c8:#1d7f9c; --c9:#8a5a2b;
  --display:"Noto Serif SC","Songti SC",serif; --body:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#111715; --surface:#1a2220; --raise:#222b29; --fg:#e4ece9; --muted:#9aaba6; --line:#2e3a37; --accent:#5cc4ae;
  --c1:#5cc4ae; --c2:#9d98f0; --c3:#f08a6e; --c4:#e2b24e; --c5:#7fb0e8; --c6:#e08cc7; --c7:#c3d45a; --c8:#6cc8e4; --c9:#dba878;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#111715; --surface:#1a2220; --raise:#222b29; --fg:#e4ece9; --muted:#9aaba6; --line:#2e3a37; --accent:#5cc4ae;
  --c1:#5cc4ae; --c2:#9d98f0; --c3:#f08a6e; --c4:#e2b24e; --c5:#7fb0e8; --c6:#e08cc7; --c7:#c3d45a; --c8:#6cc8e4; --c9:#dba878;
  color-scheme:dark}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.65}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance;line-height:1.35}
p{margin:0;max-width:66ch}
a{color:var(--accent);text-decoration:none}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}

nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.navshell{max-width:100%;overflow:hidden}
.nav-in{padding:8px 12px;display:flex;align-items:center;gap:4px;flex-wrap:nowrap;max-height:56px}
.nav-tabs{display:flex;align-items:center;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex:1;min-width:0;scrollbar-width:none;-ms-overflow-style:none}
.nav-tabs::-webkit-scrollbar{display:none}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:2px 0;margin-right:8px}
.brand:hover{background:none}
.bmark{width:40px;height:40px;flex:none}
.bmark-wrap{position:relative;display:block;width:38px;height:38px;flex:none;border-radius:10px;overflow:hidden}
.bmark-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}
.btext{display:grid;gap:1px;line-height:1.15}
.brand .bn{font-family:var(--display);font-weight:800;font-size:21px;color:var(--fg)}
.brand .bs{font-size:10px;letter-spacing:.2em;color:var(--muted);font-weight:700}
.nav-in a{font-size:13px;padding:0 14px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:18px;color:var(--muted);white-space:nowrap;flex-shrink:0}
.nav-in a:hover{background:var(--raise);color:var(--fg)}
.nav-in a.on{background:var(--accent);color:var(--bg)}
.navsub{flex-shrink:0!important;background:var(--accent);color:var(--bg)!important;font-weight:700;padding:0 14px;height:36px;border-radius:18px}

.wrap{max-width:1100px;margin:0 auto;padding:16px 16px 40px;display:grid;gap:16px}
.wrap>*{min-width:0}
@media (min-width:1100px){.wrap{max-width:none;padding-left:4px;padding-right:4px}}
@media (max-width:720px){.wrap{padding-left:10px;padding-right:10px}}
.hero{display:grid;gap:9px}
.hero h1{font-size:clamp(21px,3vw,28px);font-weight:800}
.hero p{color:var(--muted);font-size:13.5px}
.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.btn{font-size:14px;padding:9px 18px;border-radius:999px;background:var(--accent);color:var(--bg);font-weight:700}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}

.sechead{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:5px;margin-bottom:10px}
.sechead h2{font-size:17px}
.sechead span{font-size:12px;color:var(--muted)}

/* Unified card grid: 4 cols ≥1024px, 3 cols 769-1023, 2 cols ≤768 */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}
@media (max-width:1023px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:768px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:1fr;gap:0;align-content:start;overflow:hidden;color:inherit}
.card:hover{border-color:color-mix(in srgb,var(--dc,var(--accent)) 45%,var(--line))}
.cover{display:block;width:100%;aspect-ratio:2/1;height:auto;overflow:hidden;background:#f4f1ea;position:relative}
.cover .coverimg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;display:block;z-index:1}
.item h3 a{color:inherit}
.paperfig{max-width:none}
.paperfig img{display:block;width:100%;height:auto;max-height:none;object-fit:cover}
.cover svg{display:block;width:100%;height:100%}
.cbody{display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px 10px 9px}
.cbody h3{flex:0 0 auto}
.cbody .metarow{margin-top:auto}
.card h3{font-size:13.5px;line-height:1.45;font-family:var(--display);font-weight:800;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:calc(2 * 1.45 * 13.5px)}
.card .date{font-size:10.5px;letter-spacing:.03em;color:var(--muted);font-weight:700}
.ic{display:block;width:44px;height:44px}
.fthumb{position:relative;display:block;width:44px;height:44px;border-radius:11px;overflow:hidden}
.fthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ic svg{display:block;width:100%;height:100%}
.card.soon{opacity:.72;border-style:dashed}
.card.soon .go{color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:5px}
.tag{font-size:10.5px;padding:0 7px;border-radius:999px;border:1px solid var(--tc);color:var(--tc)}


.fieldlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:1000px){.fieldlist{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.fieldlist{grid-template-columns:1fr}}
.fcard{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:12px 13px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;align-items:center}
.fcard:hover{border-color:color-mix(in srgb,var(--dc) 45%,var(--line))}
.fcard .cbody{padding:0;gap:2px}
.fcard b{font-family:var(--display);font-size:15px;color:var(--dc)}
.fcard span{font-size:11.5px;color:var(--muted);line-height:1.45}
.fcard em{font-size:11px;color:var(--muted);font-style:normal}
/* Tracker cards: fcard style for fields and deals trackers */
.trkgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media (max-width:900px){.trkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.trkcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;color:inherit;text-decoration:none}
.trkcard:hover{border-color:color-mix(in srgb,var(--dc,var(--accent)) 45%,var(--line))}
.trkcard[aria-current="true"]{background:color-mix(in srgb,var(--dc,var(--accent)) 9%,var(--surface));border-color:var(--dc,var(--accent))}
.trkcard .cbody{display:grid;gap:1px;padding:0}

.trkcard.art{grid-template-columns:92px minmax(0,1fr);gap:14px;padding:10px 14px 10px 10px;min-height:112px}
.trkcard.art .cbody{gap:4px}
.trkcard.art b{font-size:16px}
.trkcard.art span{font-size:12px}
.trkcard.art em{font-size:12px}
.artthumb{position:relative;display:block;width:92px;height:92px;border-radius:12px;overflow:hidden;background:#f6f4ef}
.artthumb>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.artthumb>.ic{position:absolute;inset:0;width:100%;height:100%}
.artthumb.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;background:#fff}
.artthumb.mosaic>img{position:static;width:100%;height:100%;object-fit:cover}
.fcard.art{grid-template-columns:92px minmax(0,1fr);gap:14px;padding:10px 14px 10px 10px;min-height:112px}
.fcard.art .fthumb{width:92px;height:92px;border-radius:12px}
.fcard.art .fthumb .ic{width:100%;height:100%}
.fcard.art b{font-size:16px}
.fcard.art span{font-size:12px}
.trkcard b{font-family:var(--display);font-size:14px;color:var(--dc,var(--fg))}
.trkcard span{font-size:10.5px;color:var(--muted);line-height:1.4}
.trkcard em{font-size:11px;color:var(--muted);font-style:normal;font-weight:700}


.textpage{max-width:1100px}
@media (min-width:1100px){.textpage{max-width:none}}
.textpage p,.textpage li,.textpage .note{max-width:none}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:17px 19px;display:grid;gap:11px}
.panel ol,.panel ul{margin:0;padding-left:22px;display:grid;gap:7px;font-size:14px}

.tblw{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.55}
th{font-size:12px;letter-spacing:.05em;color:var(--muted);font-weight:700}
tr:last-child td{border-bottom:0}
.num{font-variant-numeric:tabular-nums;font-weight:700;color:var(--accent);white-space:nowrap}
.tn{font-size:11.5px;color:var(--muted)}

article .ahead{display:grid;gap:11px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}
.shell:has(.view[id^="v-a-"]:not([hidden])),
.shell:has(#v-paper:not([hidden])){display:block;max-width:980px}
.shell:has(.view[id^="v-a-"]:not([hidden]))>.rail,
.shell:has(#v-paper:not([hidden]))>.rail{display:none}
.eyebrow{font-size:12px;letter-spacing:.1em;font-weight:700;color:var(--accent)}
.zh-title{font-family:var(--display);font-size:clamp(18px,2.4vw,24px);font-weight:800;line-height:1.4}
.en-title{font-size:13.5px;color:var(--muted);font-style:italic}
.abody{display:grid;grid-template-columns:232px minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:860px){.abody{grid-template-columns:1fr;gap:16px}}
.meta{display:grid;grid-template-columns:1fr;gap:14px;align-content:start;font-size:13px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 16px 18px;position:sticky;top:12px}
.meta div{display:grid;gap:4px}
.meta p{max-width:none}
.meta .k{color:var(--muted);font-size:12.5px}
.amain{display:grid;gap:16px;min-width:0}
.fig{display:grid;gap:10px}
.fig-scroll{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.fig img,.fig svg{display:block;width:100%;height:auto;max-width:100%}
.figsteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.figsteps li{background:var(--raise);border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.45}
.figsteps b{display:block;color:var(--accent);margin-bottom:2px}
@media (max-width:720px){.figsteps{grid-template-columns:1fr 1fr}}
.cap{font-size:12.5px;color:var(--muted);line-height:1.6}
.sec{display:grid;gap:8px}
.sec h2{font-size:18px;color:var(--accent);font-family:var(--display)}
.sec p{font-size:16px;line-height:1.85;color:var(--fg)}
.meet{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.meet h2{margin:0}
.src{font-size:13px;line-height:1.7;color:var(--muted)}
.src b{color:var(--fg)}
.back{font-size:13.5px;color:var(--muted);font-weight:700}
.contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:720px){.contact{grid-template-columns:1fr}}
.cc{border:1px solid var(--line);border-radius:9px;background:var(--raise);padding:10px 12px;display:grid;gap:3px;min-width:0}
.cc span{font-size:11px;letter-spacing:.04em;color:var(--muted);font-weight:700}
.cc a{font-size:13px;font-weight:700;color:var(--accent);overflow-wrap:anywhere}
.note{font-size:13px;color:var(--muted);background:var(--raise);border-radius:9px;padding:13px 15px}
.corrections-list{display:grid;gap:10px}
.correction-item{display:grid;gap:4px;padding:10px 12px;background:var(--raise);border-radius:8px;font-size:13px;line-height:1.55}
.corr-date{font-size:11px;color:var(--muted);font-weight:700}
.corr-before{color:var(--fg)}
.corr-after{color:var(--accent)}
svg text{font-family:var(--body)}
.metarow{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;row-gap:4px}
.metarow .date,.metarow .idate{white-space:nowrap;flex-shrink:0}
.metarow .expbtn{margin-left:auto;flex-shrink:0;min-width:32px;padding:4px 6px}
.metarow .jname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0}
.metarow .tagrow{display:flex;gap:4px;overflow:hidden;flex-shrink:1;min-width:0}
.metarow .tagrow .kind{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px;flex-shrink:1;min-width:0}
.feed .metarow .tagrow .kind:nth-child(n+2){display:none}
.metarow .kind{flex-shrink:0}
.thumb{display:block;width:100%;aspect-ratio:5/3;max-width:100%}
.thumb svg{display:block;width:100%;height:100%}
.fcard .thumb{aspect-ratio:16/6}
.msline{font-size:12px;color:var(--fg);font-weight:700}
.jname{font-size:11px;color:var(--muted);font-weight:700;overflow-wrap:anywhere}
.vnote{font-size:11.5px;color:var(--muted);background:var(--raise);border-radius:7px;padding:7px 9px;line-height:1.6}
.tagrow{display:flex;gap:5px;flex-wrap:wrap}
.expbtn{font-size:12.5px;font-weight:700;color:var(--accent);background:none;border:0;padding:4px 0;min-height:32px;cursor:pointer;font-family:inherit;text-align:left;justify-self:start;display:inline-flex;align-items:center}
.expbtn:hover{text-decoration:underline}

.tracker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:900px){.tracker{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tile{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--tkc,var(--accent));border-radius:9px;padding:10px 12px;display:grid;gap:1px}
.tile .tv{font-size:19px;font-weight:800;font-family:var(--display);font-variant-numeric:tabular-nums;line-height:1.25}
.tile .tk{font-size:11.5px;color:var(--muted)}
a.tile{color:var(--fg);text-decoration:none;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
a.tile:hover{border-color:var(--tkc,var(--accent));box-shadow:0 2px 10px rgba(46,107,79,.14);transform:translateY(-1px)}
a.tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
a.tile[aria-current="true"]{background:color-mix(in srgb,var(--tkc,var(--accent)) 9%,var(--surface));border-color:var(--tkc,var(--accent))}
a.tile .tk::after{content:" →";opacity:.55}
#dealfeed,#articles,#fieldfeed{scroll-margin-top:80px}
#dealcount .clearf,#fieldcount .clearf{margin-left:2px;white-space:nowrap}

#fieldfeed{min-height:calc(100vh - 80px)}

.tile.nil{color:var(--muted);border-left-color:color-mix(in srgb,var(--tkc,var(--accent)) 40%,var(--line));background:var(--raise)}
.tile.nil .tv{color:var(--muted)}

.shell,.navshell,.footshell{max-width:1100px;margin:0 auto}
@media (min-width:1440px){
  .navshell,.footshell{display:grid;grid-template-columns:200px minmax(0,1fr) 200px;gap:18px;max-width:1560px;padding:0 10px}
  .navshell>*,.footshell>*{grid-column:2;padding-left:4px;padding-right:4px}
}
@media (min-width:1700px){
  .navshell,.footshell{grid-template-columns:176px minmax(0,1fr) 312px;max-width:1700px}
}
.col{min-width:0}
.view{min-height:62vh;align-content:start;min-width:0}
.rail{display:none}
@media (min-width:1440px){
  .shell{display:grid;grid-template-columns:200px minmax(0,1fr) 200px;gap:18px;max-width:1560px;padding:0 10px}
  .rail{display:block;position:sticky;top:60px;height:calc(100vh - 80px);overflow-y:auto;background:color-mix(in srgb,var(--surface) 60%,var(--bg));border-radius:12px;padding:10px}
  .railin{display:grid;gap:10px;align-content:start}
  .rail-l{border-right:1px solid var(--line)}
  .rail-r{border-left:1px solid var(--line)}
}
@media (min-width:1700px){
  .shell{grid-template-columns:220px minmax(0,1fr) 220px;max-width:1780px}
}
.adbox{border:1px dashed var(--line);border-radius:9px;background:var(--surface);display:grid;place-content:center;gap:3px;text-align:center;padding:8px 6px}
.adbox b{font-size:11.5px;letter-spacing:.05em;color:var(--accent);font-weight:700}
.adbox span{font-size:10px;color:var(--muted);line-height:1.5}
.ad-tall{min-height:300px}
.ad-med{min-height:150px}
.ad-small{min-height:70px}
@media (min-width:1440px){.ad-tall{min-height:360px}.ad-med{min-height:180px}}
@media (min-width:1700px){.rail-r .ad-tall{min-height:430px}.rail-r .ad-med{min-height:215px}}
.adtext{border:1px dashed var(--line);border-radius:9px;background:var(--surface);padding:9px 10px;display:grid;gap:5px}
.adtext b{font-size:11px;letter-spacing:.05em;color:var(--accent);font-weight:700}
.adtext span{font-size:11px;color:var(--muted);border-bottom:1px dotted var(--line);padding-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adtext span:last-child{border-bottom:0;padding-bottom:0}
.srcard{display:grid;grid-template-rows:auto 1fr;gap:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);text-decoration:none;color:inherit;min-width:0;overflow:hidden}
.srcard:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.srcard .srcbanner{width:100%;aspect-ratio:16/9;background:#f8f9fa;display:flex;align-items:center;justify-content:center;overflow:hidden}
.srcard .srcbanner img{width:100%;height:100%;object-fit:contain;background:#fff}
.srcard .srcbanner svg{width:70%;height:70%;max-width:140px}
.srcard .srcbody{display:grid;gap:3px;padding:10px 12px;min-width:0}
.srcard b{font-size:13px;line-height:1.25;font-family:var(--display);font-weight:800}
.srcard .dom{font-size:12px;color:var(--accent);font-weight:700;overflow-wrap:anywhere}
.srcard em{font-size:12px;line-height:1.4;color:var(--muted);font-style:normal}
.srcbanner.txtbanner{background:var(--raise);font-size:28px;font-weight:800;color:var(--muted);letter-spacing:.05em}
.srcbanner.fdabanner{background:#006db6}
.srcard .srcbanner.coverbanner{aspect-ratio:440/584;background:#111}
.srcard .srcbanner.coverbanner img{object-fit:contain;background:transparent}
.srcard .srcbanner.logobanner{background:#fff}
.srcard .srcbanner.logobanner img{width:86%;height:auto;max-height:80%}
.railhead{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:4px 0 6px;border-bottom:1px solid var(--line);margin-bottom:4px}
.srgroup{border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:7px 8px 8px;display:grid;gap:3px;min-width:0}
.srgroup .k{font-size:10px;letter-spacing:.08em;font-weight:700;color:var(--muted)}
.srgroup a{font-size:11.5px;font-weight:700;line-height:1.3}
.srnote{display:block;border:1px dashed var(--line);border-radius:9px;padding:7px 8px;font-size:11px;line-height:1.4;color:var(--muted);text-decoration:none}
.srnote:hover{color:var(--accent)}
.ad-inline{min-height:110px}
.adslot-mobile{display:grid;gap:14px;margin-top:6px}
@media (min-width:1440px){.adslot-mobile{display:none}}
.srcrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:640px){.srcrow{grid-template-columns:repeat(4,minmax(0,1fr))}}
.sponsored{border:1px solid var(--line);border-left:3px solid var(--c4);border-radius:10px;background:var(--surface);padding:13px 15px;display:grid;gap:5px}
.sponsored .slabel{font-size:11px;letter-spacing:.1em;font-weight:700;color:var(--c4)}
.sponsored h3{font-size:16px}
.sponsored p{font-size:13.5px;color:var(--muted);max-width:none}
.navsub{background:var(--accent);color:var(--bg)!important;font-weight:700}
.navsub:hover{background:var(--accent);opacity:.9}

.hero-band{position:relative;border-radius:12px;overflow:hidden;min-height:160px;display:grid;align-items:end;isolation:isolate}
.hb-art{position:absolute;inset:0;z-index:0}
.hb-art svg,.hb-art img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.hero-band{border:1px solid var(--line)}
.hero-band::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.92) 50%,rgba(255,255,255,.3) 100%)}
.hb-text{position:relative;z-index:2;padding:16px 20px 14px;display:grid;gap:6px;max-width:520px;color:var(--fg)}
.hb-kicker{font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--accent)}
.hb-text h1{font-family:var(--display);font-size:clamp(22px,3.2vw,32px);font-weight:800;line-height:1.1;letter-spacing:.01em;color:var(--fg)}
.hb-text p{font-size:13px;line-height:1.55;color:var(--muted);max-width:none}
.hb-cta{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.hb-cta .btn{font-weight:800;padding:6px 12px;font-size:13px}
.hb-cta .btn.ghost{background:transparent;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line))}
.hb-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:3px;font-size:11px;color:var(--muted)}
.hb-stats b{font-family:var(--display);font-size:14px;color:var(--accent);margin-right:3px}
@media (max-width:620px){.hero-band{min-height:120px}.hb-text{padding:12px 14px 10px}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero-band::after{background:linear-gradient(100deg,rgba(17,23,21,.93) 0%,rgba(17,23,21,.8) 44%,rgba(17,23,21,.25) 100%)}}
:root[data-theme="dark"] .hero-band::after{background:linear-gradient(100deg,rgba(17,23,21,.93) 0%,rgba(17,23,21,.8) 44%,rgba(17,23,21,.25) 100%)}
.lead{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--c3);border-radius:10px;padding:14px 16px;display:grid;gap:6px}
.leadtag{font-size:11px;letter-spacing:.08em;font-weight:700;color:var(--c3)}
.lead h1{font-size:clamp(19px,2.6vw,25px);font-weight:800}
.lead p{font-size:13.5px;color:var(--muted);max-width:none}
.leadfoot{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.tabs{display:flex;gap:7px;margin-left:auto}
.sechead{align-items:center}
.sechead span a{font-size:13px}
.subblock{background:var(--accent);color:var(--bg);border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.subblock h2{font-size:17px}
.subblock p{font-size:14px;opacity:.9;margin-top:4px}
.subblock .btn{background:var(--bg);color:var(--accent);margin-left:auto}
footer{border-top:1px solid var(--line);background:var(--surface);margin-top:20px}
.foot-in{padding:28px 16px 40px;display:grid;gap:13px;justify-items:start}
.foot-in>*{max-width:760px;width:100%}
.foot-in div p{max-width:none}
.foot-in b{font-family:var(--display);font-size:15px}
.foot-in p{font-size:13px;color:var(--muted)}
.coblock .colockup{display:block;height:64px;width:auto;margin:4px 0 2px}
.footnav{display:flex;gap:16px;flex-wrap:wrap}
.footnav a{font-size:13.5px}
.footmail{font-size:13px;color:var(--muted)}
.footmail a{font-weight:700}
.footnote{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.arclist{display:grid;gap:7px}
.arow{display:grid;grid-template-columns:62px minmax(0,1fr) auto auto;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--dc,var(--accent));border-radius:10px;padding:11px 14px;color:inherit}
.arow:hover{background:var(--raise)}
.arow .adate{font-size:12px;color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}
.arow .atitle{font-family:var(--display);font-weight:800;font-size:14px;line-height:1.45}
.arow .asrc{font-size:12px;color:var(--muted);white-space:nowrap}
@media (max-width:720px){.arow{grid-template-columns:minmax(0,1fr);gap:6px}.arow .asrc{white-space:normal}}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.confcal{margin-left:auto;position:relative}
.confcal summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:#24456e;font-size:13px;font-weight:600}
.confcal summary::-webkit-details-marker{display:none}
.sechead .confcal span{font-size:13px;color:inherit}
.confcal[open] summary{border-color:#24456e}
.calpop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:220px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(20,40,70,.12);padding:10px}
.calpop .calk{font-size:11.5px;color:var(--muted);margin:4px 4px 6px}
.calpop button{display:flex;justify-content:space-between;width:100%;border:0;background:none;padding:7px 10px;border-radius:8px;font:inherit;font-size:13.5px;color:inherit;cursor:pointer;text-align:left}
.calpop button:hover{background:#eef3f8}
.calpop button[aria-pressed="true"]{background:#24456e;color:#fff;font-weight:600}
.calpop button em{font-style:normal;opacity:.7}
.confbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}
.confbar .chips{margin:0}
.conflist{display:grid;gap:10px}
.conflist{grid-template-columns:repeat(2,minmax(0,1fr))}
.confrow{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.conftop{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}
.conflogo{flex:0 0 auto;width:132px;height:60px;border-radius:8px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:6px;overflow:hidden}
.conflogo.dark{background:#24456e;border-color:#24456e}
.conflogo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.conflogo.ph{padding:0;background:#f7f4ea}
.conflogo.ph img{width:100%;height:100%;object-fit:cover;max-width:none;max-height:none}
.confdate{text-align:right}
.confdate{font-weight:700;color:#24456e;font-size:14px;line-height:1.5}
.confdate small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.confrow h3{margin:0 0 4px;font-size:16px;line-height:1.45}
.confmeta{font-size:13px;color:var(--muted);margin-bottom:6px}
.confrow p.confsum{margin:0 0 8px;font-size:14px;line-height:1.7;text-indent:0;text-align:left}
.conftags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px}
.conftags .tag{--tc:#4a6f96}
.conftags .warn{color:#b0412e;font-size:12px}
@media (max-width:820px){.conflist{grid-template-columns:1fr}}
.chip{font-size:13px;padding:5px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;font-family:inherit}
.chip:hover{color:var(--fg)}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700}
/* Feed grid: same breakpoints as .grid for consistency */
.feed{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}
@media (max-width:1023px){.feed{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:768px){.feed{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Details panel inserted after the row containing the expanded card */
.feed-details-panel{grid-column:1/-1;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:8px}
.feed-details-panel .panel-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.feed-details-panel .msline{font-size:13px;color:var(--fg);font-weight:700}
.feed-details-panel p{font-size:14px;color:var(--muted);max-width:none;line-height:1.6}
.feed-details-panel .foot{display:flex;gap:12px;flex-wrap:wrap;font-size:13px}
.feed-details-panel .close-btn{font-size:12.5px;font-weight:700;color:var(--accent);background:none;border:0;padding:4px 8px;min-height:32px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;margin-left:auto}

.item{background:var(--surface);border:1px solid var(--line);border-radius:14px;display:grid;grid-template-rows:auto 1fr;overflow:hidden}
.item .cbody{padding:8px 10px 9px;display:flex;flex-direction:column;gap:4px}
.item .cbody h3{flex:0 0 auto}
.item .cbody .metarow{margin-top:auto}
.item h3{font-size:13.5px;line-height:1.45;font-family:var(--display);font-weight:800;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:calc(2 * 1.45 * 13.5px)}
.itop{padding-top:13px}
.item>.foot,.item>.exp{padding-bottom:14px}
.itop{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.idate{font-size:11px;letter-spacing:.03em;color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}
.kind{font-size:10.5px;padding:0 7px;border-radius:999px;border:1px solid var(--kc);color:var(--kc)}

.money{font-size:13px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.money small{font-weight:400;color:var(--muted);font-size:11.5px}
.item p{font-size:12.5px;color:var(--muted);max-width:none;line-height:1.55}
.item .foot{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}
.empty{font-size:14px;color:var(--muted);background:var(--raise);border-radius:10px;padding:18px}
.lbl{font-size:12.5px;font-weight:700;fill:var(--fg)}
.sub{font-size:11px;fill:var(--muted)}
.stepn{font-size:12px;font-weight:700;fill:var(--surface)}
.steph{font-size:12px;font-weight:700}
.mol{font-size:10.5px;font-weight:700}

/* Mobile improvements: readable nav (≥13px), ≤44px tap, ≤56px header */
@media (max-width:768px){
  nav{max-height:56px}
  .nav-in{gap:3px;padding:4px 8px}
  .nav-tabs{gap:2px}
  .nav-in a{font-size:13px;padding:0 12px;height:40px;min-height:40px;border-radius:20px}
  .brand .btext{display:none}
  .brand{margin-right:4px}
  .bmark,.bmark-wrap{width:32px;height:32px}
  .navsub{padding:0 12px;height:40px;min-height:40px;margin-left:auto;font-size:13px;border-radius:20px}
  .btn{min-height:44px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center}
  .chip{min-height:44px;padding:0 16px;display:inline-flex;align-items:center}
  .sec p{font-size:15px}
  .panel ol,.panel ul{font-size:15px}
  nav,.navshell,.nav-in{height:56px;max-height:56px;box-sizing:border-box}
  .hb-art{display:none}
  .hero-band{min-height:0;background:var(--surface)}
  .hero-band::after{display:none}
  /* Hide deals illustrations on mobile to reduce page height */
  #v-deals .item .cover,
  #v-deals .cover,
  .feed .cover{display:none!important}
  .feed .item{grid-template-rows:1fr}
  /* Reduce tracker chart sizes on mobile */
  .tracker svg{max-height:120px}
}
/* Compact 2-col grid on phone (≤480px) */
@media (max-width:480px){
  .nav-in a{padding:0 10px;height:36px;min-height:36px;font-size:12px;border-radius:18px}
  .navsub{padding:0 10px;height:36px;min-height:36px;font-size:12px;border-radius:18px}
  .grid,.feed{gap:8px}
  /* Compact cards */
  .grid .item,.grid .card{grid-template-rows:auto 1fr}
  .grid .item .cover,.grid .card .cover{display:block;aspect-ratio:3/2;min-height:auto;height:auto}
  .item h3,.card h3{font-size:12px;-webkit-line-clamp:2;min-height:calc(2 * 1.45 * 12px)}
  .cbody{padding:6px 8px 8px;gap:3px}
  /* Tags: max 1 visible, truncate */
  .metarow .tagrow .kind{max-width:60px}
  .metarow .tagrow .kind:nth-child(n+2){display:none}
  .idate{font-size:11px}
  .jname{font-size:10px;display:none}
  .kind{font-size:10px;padding:0 5px}
  .metarow{gap:4px}
  .metarow .expbtn{font-size:11px;min-height:32px;min-width:32px;flex-shrink:0;padding:4px 2px}
  /* Deals card fixes */
  .item .money{font-size:12px}
  .item .msline{font-size:11px}
}


.pv-shell{max-width:1100px;margin:0 auto}
.pv-art .abody{grid-template-columns:210px minmax(0,1fr);gap:26px}
.pv-art .amain p,.pv-art .amain li,.pv-art .amain .cap{max-width:none}
.pv-art .sec p,.pv-art .sec li{font-size:16.5px;line-height:1.9}
.pv-art .sec p{text-align:justify;text-justify:inter-ideograph;text-indent:2em}
.textpage .panel p{text-align:justify;text-justify:inter-ideograph;text-indent:2em}
.feed-details-panel p:not(.msline){text-align:justify;text-justify:inter-ideograph;text-indent:2em}
.pv-hero{display:grid;gap:6px;justify-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.pv-hero img{display:block;max-height:280px;max-width:100%;width:auto;height:auto;object-fit:contain}
.pv-hero .cap{text-align:center;max-width:none}
@media (max-width:860px){.pv-art .abody{grid-template-columns:1fr;gap:14px}}
@media (max-width:720px){.pv-shell .wrap{padding-left:10px;padding-right:10px}.pv-hero img{max-height:200px}.pv-art .sec p,.pv-art .sec li{font-size:16px;line-height:1.85}}
.pv-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:14px 16px}
.pv-card h2{font-size:17px;color:var(--accent);font-family:var(--display);margin-bottom:6px}
.pv-card ul{margin:0;padding-left:1.1em;display:grid;gap:6px}
.pv-card li{font-size:14.5px;line-height:1.7}
.sec h3{font-size:16px;font-weight:800;margin-top:6px}
.sec ul{margin:0;padding-left:1.2em;display:grid;gap:6px}
.sec li{font-size:16px;line-height:1.8}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}
@media (max-width:860px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}}
.pgrid .item{display:flex!important;flex-direction:column;height:100%}
.pgrid .item>a{display:block}
.pgrid .item .cbody{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0;padding:7px 10px 8px}
.pgrid .item .cover{aspect-ratio:2/1;height:auto;min-height:0;background:#fff!important;overflow:hidden}
.pgrid .item .cover .coverimg{object-fit:contain!important;object-position:50% 50%!important;background:#fff}
.pgrid .item h3{font-size:14px;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;height:2.8em;margin:0}
.pgrid .pv-ccap{font-size:11.5px;line-height:1.45;color:var(--muted);margin:0;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pgrid .metarow{margin-top:auto;gap:6px;min-height:0;flex-wrap:nowrap}
.pgrid .jname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pgrid .metarow .expbtn{min-height:0;padding:0;font-size:12px}
/* Homepage 'latest' grid: show max 4 rows, then link to full archive */
.pgrid.limited .item:nth-child(n+17){display:none!important}
@media (max-width:860px){.pgrid.limited .item:nth-child(n+9){display:none!important}}
/* Deals feed: show max 4 rows */
.feed.limited .item:nth-child(n+17){display:none!important}
@media (max-width:1023px){.feed.limited .item:nth-child(n+13){display:none!important}}
@media (max-width:768px){.feed.limited .item:nth-child(n+9){display:none!important}}
.showallbtn{display:block;margin:16px auto 0;font-size:14px;font-weight:700;color:var(--accent);background:var(--surface);border:1px solid var(--accent);border-radius:999px;padding:10px 24px;cursor:pointer;font-family:inherit;text-decoration:none;text-align:center}
.showallbtn:hover{background:var(--accent);color:var(--bg)}
.pv-chips{display:flex;gap:4px;flex-wrap:nowrap;overflow:hidden;white-space:nowrap;min-width:0}
.pv-chip{flex:0 0 auto;font-size:10.5px;line-height:16px;padding:0 6px;border-radius:999px;border:1px solid #2f7d6d;color:#2f7d6d;background:#fff;font-weight:700}
.pv-chip.pri,.pv-chip.rel{border-color:var(--fc)!important}
.pv-chip.pri{background:var(--fc)!important;color:#fff!important}
.pv-chip.rel{background:#fff!important;color:var(--fc)!important}
.pv-chip.pre{border-color:#8a8a8a;color:#5f5f5f;background:#f3f3f3}
.ahead .pv-chips{flex-wrap:wrap;gap:6px;margin:6px 0 2px}
.ahead .pv-chip{font-size:12px;line-height:20px;padding:0 9px}
@media (max-width:720px){
  .pgrid .item .cbody{padding:6px 8px 7px}
  .pgrid .item h3{font-size:13.5px}
  .pgrid .pv-chips .pv-chip.rel:nth-of-type(n+3){display:none}
  .pgrid .pv-chips:has(.pre) .pv-chip.rel{display:none}
  .pgrid .pv-chip{font-size:9.5px;padding:0 5px;line-height:15px}
  .abody .meta{position:static}
}
.shell:has(#v-paper:not([hidden])){display:block;max-width:1100px}
#v-paper.pv-art{max-width:1100px}


.pv-art .abody{grid-template-columns:300px minmax(0,1fr);gap:28px}
.meta.side2{position:static;background:none;border:0;padding:0;gap:14px}
.side2 .sbox{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:8px}
.side2 .sbox p{font-size:13.5px;line-height:1.7;margin:0}
.side2 .small,.side2 .small p{font-size:12.5px;line-height:1.7;color:var(--muted)}
.side2 .cite{word-break:break-word}
.side2 .side-card{border-left:4px solid var(--accent)}
.side2 .side-card h2{font-size:15px}
.side2 .side-card li{font-size:13px;line-height:1.65}
@media (max-width:860px){
  .pv-art .abody{grid-template-columns:1fr}
  .side2{display:contents}
  .abody .look{order:1}
  .abody .side-card{order:2}
  .abody .amain{order:3}
  .side2 .sbox:not(.look):not(.side-card){order:4}
}
@media (min-width:861px){
  .pv-art .abody{align-items:stretch}
  .meta.side2{display:flex;flex-direction:column;gap:14px;align-self:stretch}
  .side2 .side-card{position:static}
}

/* style_unify_v2 (Oct 2026): original illustrations kept, recoloured to the site palette
   (img/pal/*). Deal type tags in deep green, amounts in terracotta #C0492F (single accent). */
.feed .kind,.feed-details-panel .kind{border-color:#2E6B4F!important;color:#2E6B4F!important}
.feed .item .money{color:#C0492F}
.feed .item .money.nil{color:var(--muted);font-weight:500}
.feed .cover,.fthumb{background:#fff}
/* style_unify_v6: deal covers rotate through ten illustrations per deal type (img/pal/kinds/v6/), off-white ground. */
.feed .cover{background:#F6F4EE}

/* ===== Calm palette variant (r11) ===== */

.srcard{background:#fff}
.srcard .srcbanner,.srcard .srcbanner.logobanner,.srcard .srcbanner.fdabanner,.srcard .srcbanner.txtbanner{aspect-ratio:auto;height:44px;padding:8px 12px 0;background:#fff;justify-content:flex-start}
.srcard .srcbanner img,.srcard .srcbanner.logobanner img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:left center;background:transparent}
.srcard .srcbanner.txtbanner{font-size:18px}

.srcard .srcbanner{padding:6px 10px 0;box-sizing:border-box}
.srcard .srcbanner img[src*="biopharmadive_banner"],.srcard .srcbanner img[src*="biospace_banner"]{object-fit:cover;object-position:center;border-radius:5px}
.srcard .srcbody{padding:8px 12px 10px}
.srcard:has(.coverbanner){grid-template-columns:68px minmax(0,1fr);grid-template-rows:auto;align-items:center;gap:10px;padding:10px}
.srcard .srcbanner.coverbanner{width:68px;height:auto;aspect-ratio:440/584;padding:0;background:#fff;border-radius:4px;box-shadow:0 0 0 1px var(--line)}
.srcard .srcbanner.coverbanner img{object-fit:cover;object-position:center}
.srcard:has(.coverbanner) .srcbody{padding:0}

.tag,.kind,.feed .kind,.feed-details-panel .kind{border-color:#2f5d46!important;color:#2f5d46!important;background:transparent!important}
.pv-chip,.pv-chip.pri,.pv-chip.rel{border-color:#2f5d46!important;color:#2f5d46!important;background:transparent!important}
.pv-chip.pri{background:rgba(47,93,70,.07)!important}

.trkcard,.fcard{--dc:#2f5d46!important}

.art-end{display:grid;gap:14px;margin:30px 0 6px;padding-top:18px;border-top:2px solid #2f5d46}
.art-end p,.art-end li{text-indent:0;text-align:left}
.art-pn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.art-pn .pn{display:grid;gap:4px;align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--fg);min-width:0}
.art-pn a.pn:hover{border-color:#2f5d46;box-shadow:0 2px 10px rgba(47,93,70,.12)}
.art-pn .next{text-align:right}
.art-pn .k{font-size:12px;font-weight:700;color:#2f5d46;letter-spacing:.04em}
.art-pn b{font-family:var(--display);font-size:15px;line-height:1.5;font-weight:800}
.art-pn em{font-style:normal;font-size:12px;color:var(--muted)}
.art-pn .none{background:var(--raise)}
.art-pn .none b{font-family:var(--body);font-weight:500;font-size:13.5px;color:var(--muted)}
.art-rel{background:var(--surface);border:1px solid var(--line);border-left:4px solid #2f5d46;border-radius:10px;padding:14px 16px}
.art-rel h2{font-size:16px;color:#2f5d46;margin:0 0 8px;display:flex;align-items:baseline;gap:8px}
.art-rel h2 small{font-family:var(--body);font-size:12px;font-weight:500;color:var(--muted)}
.art-rel ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.art-rel li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14.5px;line-height:1.6;border-top:1px dashed var(--line);padding-top:8px}
.art-rel li:first-child{border-top:0;padding-top:0}
.art-rel li a{color:var(--fg);font-weight:500;min-width:0}
.art-rel li a:hover{color:#2f5d46}
.art-rel li span{flex:none;font-size:12px;color:var(--muted);white-space:nowrap}
.art-sub{background:#2f5d46;color:#fff;border-radius:10px;padding:14px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.art-sub b{font-family:var(--display);font-size:16px}
.art-sub p{margin:2px 0 0;font-size:13.5px;line-height:1.6;opacity:.9;max-width:none}
.art-sub .btn{background:#fff;color:#2f5d46;margin-left:auto}
@media (max-width:720px){.art-pn{grid-template-columns:1fr}.art-pn .next{text-align:left}.art-rel li{flex-direction:column;gap:2px}.art-rel li span{white-space:normal}.art-sub .btn{margin-left:0}}

.navsearch{flex-shrink:0;width:36px;height:36px;border-radius:18px;border:0;background:none;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;margin:0 2px;font:inherit}
.navsearch:hover,.navsearch[aria-expanded="true"]{background:var(--raise);color:#2f5d46}
.navsearch svg{width:19px;height:19px;display:block}
@media (max-width:480px){.navsearch{width:32px;height:32px;margin:0}}
.srch-scrim{position:fixed;inset:0;z-index:18;background:rgba(17,23,21,.18)}
.srch{position:fixed;left:0;right:0;top:56px;z-index:19;padding:0 10px;pointer-events:none}
.srch-box{pointer-events:auto;max-width:720px;margin:8px auto 0;background:var(--surface);border:1px solid var(--line);border-top:3px solid #2f5d46;border-radius:12px;box-shadow:0 14px 34px rgba(29,42,39,.18);overflow:hidden}
.srch-in{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 14px;border-bottom:1px solid var(--line)}
.srch-in svg{width:18px;height:18px;flex:none;color:#2f5d46}
.srch-in input{flex:1;min-width:0;font:inherit;font-size:16px;border:0;outline:0;background:transparent;color:var(--fg);height:38px;-webkit-appearance:none;appearance:none}
.srch-in input::-webkit-search-cancel-button{display:none}
.srch-x{flex:none;border:0;background:var(--raise);color:var(--muted);font:inherit;font-size:12.5px;font-weight:700;border-radius:999px;padding:0 12px;height:32px;cursor:pointer}
.srch-res{max-height:min(66vh,540px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.srch-hint{padding:12px 14px;font-size:13px;line-height:1.6;color:var(--muted);margin:0;max-width:none}
.srch-grp{padding:7px 14px 5px;font-size:12px;font-weight:700;color:#2f5d46;letter-spacing:.06em;background:var(--raise);display:flex;justify-content:space-between}
.srch-grp span{font-weight:500;color:var(--muted)}
.srch-item{display:grid;gap:2px;padding:10px 14px;border-top:1px solid var(--line);color:var(--fg)}
.srch-grp+.srch-item{border-top:0}
.srch-item:hover,.srch-item.on{background:color-mix(in srgb,#2f5d46 7%,var(--surface))}
.srch-item b{font-size:14.5px;line-height:1.45;font-weight:700}
.srch-item span{font-size:12.5px;color:var(--muted);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.srch-item em{font-style:normal;font-size:11.5px;color:#2f5d46;font-weight:700}
.srch mark{background:rgba(192,73,47,.16);color:inherit;border-radius:2px;padding:0 1px}

.navshell{position:relative}

/* ===== InLight Bio site overrides =====
   Base rules live in the base stylesheet; fonts, single-column shell and
   site-specific components are added here. */
:root{--display:"Noto Serif",Georgia,"Times New Roman",serif;--body:"Noto Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--blue:#24456e;--red:#C0492F}
html{scroll-behavior:smooth}
/* No ad rails: keep one centred column at every width */
.shell,.navshell,.footshell{max-width:1180px;margin:0 auto}
@media (min-width:1440px){.shell,.navshell,.footshell{display:block;max-width:1180px;padding:0 10px}.navshell>*,.footshell>*{padding-left:0;padding-right:0}}
@media (min-width:1100px){.wrap{padding-left:10px;padding-right:10px}}
.brand .bn{font-size:20px;letter-spacing:.005em}
.brand .bs{letter-spacing:.14em}
/* Body text justified (owner rule); English uses no first-line indent */
.textpage .panel p,.pv-art .sec p,.feed-details-panel p:not(.msline),.just{text-align:justify;text-justify:inter-word;text-indent:0;hyphens:auto;-webkit-hyphens:auto}
.panel li{text-align:justify;hyphens:auto}
.hero p{max-width:92ch;text-align:justify;hyphens:auto}
/* Compact top-right filter button (same pattern as the conference calendar button) */
.sechead .confcal{margin-left:auto}
.calpop{width:236px}
.calpop .calk:not(:first-child){border-top:1px solid var(--line);padding-top:8px;margin-top:8px}
.calpop .calk+div{display:grid}
/* Home: two-up row */
.two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.mini-conf{display:grid;gap:8px}
.mini-conf a{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;color:var(--fg)}
.mini-conf a:hover{border-color:color-mix(in srgb,var(--blue) 45%,var(--line))}
.mini-conf .md{font-weight:700;color:var(--blue);font-size:12.5px;line-height:1.35}
.mini-conf b{font-family:var(--display);font-size:14px;line-height:1.35;display:block}
.mini-conf span{font-size:12px;color:var(--muted)}
.ncta{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:14px 16px;display:grid;gap:8px}
.ncta .k{font-size:11px;letter-spacing:.1em;font-weight:700;color:var(--accent)}
.ncta h2{font-size:clamp(18px,2.2vw,22px)}
.ncta p{font-size:14px;color:var(--muted);max-width:none;text-align:justify;hyphens:auto}
.ncta .cta{margin-top:2px}
/* Compact NewCo deal table */
.dealtbl table{min-width:980px;font-size:12.5px}
.dealtbl td b{font-family:var(--display);font-size:13.5px;color:var(--fg)}
.dealtbl td .tn{display:block;margin-top:2px}
.dealtbl td.m{color:var(--red);font-weight:700;font-variant-numeric:tabular-nums}
.dealtbl td.src a{display:block;font-size:11.5px;white-space:nowrap}
.dealtbl td.out{font-size:12px;color:var(--accent)}
.dealtbl tr:hover td{background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
.dealtbl.short table{min-width:640px}
/* NewCo page */
.aud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:900px){.aud{grid-template-columns:1fr}}
.audc{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:11px;padding:15px 17px;display:grid;gap:8px;align-content:start}
.audc .k{font-size:11px;letter-spacing:.1em;font-weight:700;color:var(--accent);text-transform:uppercase}
.audc h3{font-size:17px}
.audc ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13.5px;line-height:1.6}
.audc li{text-align:justify;hyphens:auto}
.audc .btn{justify-self:start;margin-top:4px;font-size:13px;padding:7px 14px}
.diagram{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:12px}
.diagram svg{display:block;width:100%;height:auto}
.diagram text{font-family:var(--body)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;counter-reset:st}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}
.steps li{counter-increment:st;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px 12px 50px;position:relative;font-size:13.5px;line-height:1.6;text-align:justify;hyphens:auto}
.steps li::before{content:counter(st);position:absolute;left:13px;top:12px;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center}
.steps li b{display:block;font-family:var(--display);font-size:14.5px;margin-bottom:2px}
.tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:900px){.tiers{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tiers{grid-template-columns:1fr}}
.tier{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;gap:6px;align-content:start;position:relative}
.tier .lv{font-size:11px;font-weight:800;letter-spacing:.08em;color:#fff;background:var(--accent);border-radius:999px;padding:1px 9px;justify-self:start}
.tier:nth-child(2) .lv{background:#3d7a5d}.tier:nth-child(3) .lv{background:var(--blue)}.tier:nth-child(4) .lv{background:var(--red)}
.tier h3{font-size:15px}
.tier p{font-size:13px;line-height:1.6;color:var(--muted);max-width:none;text-align:justify;hyphens:auto}
.tier .gate{font-size:12px;font-weight:700;color:var(--fg)}
.needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:900px){.needs{grid-template-columns:1fr}}
.warnbox{border:1px solid color-mix(in srgb,var(--red) 40%,var(--line));background:color-mix(in srgb,var(--red) 5%,var(--surface));border-radius:10px;padding:12px 14px;font-size:13.5px;line-height:1.65;text-align:justify}
.warnbox b{color:var(--red)}
.fieldlist2{columns:2;column-gap:24px;margin:0;padding-left:20px;font-size:13.5px;line-height:1.7}
@media (max-width:720px){.fieldlist2{columns:1}}
.phb{display:inline-block;font-size:11px;font-weight:700;color:var(--red);border:1px dashed var(--red);border-radius:6px;padding:0 6px;margin-left:4px}
.bigcta{background:var(--accent);color:#fff;border-radius:12px;padding:18px 20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.bigcta h2{font-size:19px;color:#fff}
.bigcta p{font-size:14px;opacity:.92;max-width:none;margin-top:3px}
.bigcta .btn{background:#fff;color:var(--accent);margin-left:auto}
.bigcta .btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7);margin-left:0}
@media (max-width:720px){.bigcta .btn{margin-left:0}}
/* News article page */
.npage .ahead h1{font-family:var(--display);font-size:clamp(20px,2.6vw,27px);font-weight:800;line-height:1.35}
.npage .pv-hero img{max-height:340px}
.npage .meta.side2 .sbox .money{font-size:14px;font-weight:700;color:var(--red)}
.npage .zhnote{font-size:12.5px;color:var(--muted)}
/* Conferences: kind tag tint + TBA badge */
.confrow .tbabadge{display:inline-block;font-size:11px;font-weight:800;color:#b0412e;border:1px solid #b0412e;border-radius:999px;padding:0 8px;margin-left:6px;vertical-align:middle}
.confdate.tba{color:#b0412e}
.conftags .ok{color:var(--accent);font-size:12px;font-weight:700}
/* Home hero stats spacing on mobile */
@media (max-width:620px){.hb-stats{gap:10px}}
.footcols{display:flex;gap:28px;flex-wrap:wrap}
.footcols p{font-size:13px;color:var(--muted)}
/* mobile fixes */
.two>*{min-width:0}
@media (max-width:860px){.two{grid-template-columns:minmax(0,1fr)}}
.trkcard,.trkcard .cbody{min-width:0}
@media (max-width:640px){.dealtbl.short table{min-width:0;font-size:12px}.dealtbl.short td,.dealtbl.short th{padding:7px 8px}}
@media (max-width:640px){.dealtbl.short tr>*:nth-child(4){display:none}}
@media (max-width:640px){.trkcard.art{grid-template-columns:52px minmax(0,1fr);gap:9px;padding:8px 10px 8px 8px;min-height:0}.trkcard.art b{font-size:14.5px}.trkcard.art .cbody>span{display:none}}
@media (max-width:640px){.trkcard.art .artthumb{width:52px;height:52px;border-radius:9px}}
@media (max-width:640px){.diagram{overflow-x:auto;-webkit-overflow-scrolling:touch}.diagram svg{min-width:680px}}
.aud.aud2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.aud.aud2{grid-template-columns:minmax(0,1fr)}}
.audc h3{overflow-wrap:anywhere}

/* ===== v2 (Oct 2026): Science section, science-led home, Services ===== */
/* Field tags use per-field colours */
.ftags{display:flex;gap:5px;flex-wrap:wrap;min-width:0}
.ftag{display:inline-block;font-size:11px;line-height:18px;padding:0 8px;border-radius:999px;border:1px solid var(--fc,#2f5d46);color:var(--fc,#2f5d46);background:color-mix(in srgb,var(--fc,#2f5d46) 7%,#fff);font-weight:700;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.ftag.pre{--fc:#5f5f5f;border-style:dashed;background:#f3f3f3}
.ftags.big .ftag{font-size:12.5px;line-height:22px;padding:0 10px}
.fdot{display:inline-block;flex:none;width:9px;height:9px;border-radius:50%;margin-right:8px}
/* Science card grid */
.scigrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.scigrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){.scigrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.scigrid,.scigrid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.scard{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:border-color .15s,box-shadow .15s}
.scard:hover{border-color:color-mix(in srgb,var(--blue) 40%,var(--line));box-shadow:0 3px 14px rgba(20,40,70,.08)}
.scover{display:block;aspect-ratio:16/10;overflow:hidden;background:#F6F4EE}
.scover img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.sbody{display:flex;flex-direction:column;gap:6px;padding:10px 12px 11px;flex:1 1 auto;min-width:0}
.sbody h3{text-wrap:wrap;font-family:var(--display);font-size:15px;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.sbody h3 a{color:var(--fg)}
.sbody h3 a:hover{color:var(--accent)}
.scap{font-size:12.5px;line-height:1.5;color:var(--muted);margin:0;max-width:none;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.smeta{margin-top:auto;display:flex;gap:8px;justify-content:space-between;align-items:baseline;font-size:11.5px;color:var(--muted);font-weight:700;min-width:0;padding-top:2px}
.smeta .sj{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-style:italic}
.smeta .sd{white-space:nowrap;flex:none}
@media (max-width:560px){
  .scigrid,.scigrid.three{grid-template-columns:minmax(0,1fr);gap:8px}
  .scard{display:grid;grid-template-columns:116px minmax(0,1fr)}
  .scover{aspect-ratio:auto;height:100%;min-height:100px}
  .sbody{padding:8px 10px 9px;gap:4px}
  .sbody h3{font-size:14px;line-height:1.38}
  .scap{display:none}
}
.sfpop{width:300px;max-width:calc(100vw - 32px)}
.sfpop button span{display:flex;align-items:center;text-align:left}
/* Science article */
.spage{max-width:880px;margin-left:auto;margin-right:auto}
.spage article{display:grid;gap:18px}
.spage .ahead{display:grid;gap:8px}
.spage .ahead h1{font-family:var(--display);font-size:clamp(22px,3vw,30px);font-weight:800;line-height:1.3}
.spage .dek{font-size:17px;line-height:1.7;color:var(--fg);text-align:justify;text-justify:inter-word;hyphens:auto;max-width:none;margin:0}
.qlook{background:color-mix(in srgb,var(--accent) 5%,var(--surface));border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:14px 16px;display:grid;gap:6px}
.qlook .k,.spage .sbox .k{font-size:11.5px;letter-spacing:.1em;font-weight:800;color:var(--accent);text-transform:uppercase}
.qlook p{font-size:15px;line-height:1.75;text-align:justify;text-justify:inter-word;hyphens:auto;max-width:none;margin:0}
.scihero{margin:0}
.scihero img{max-height:460px;border-radius:6px}
.spage .amain{display:grid;gap:22px}
.spage .sec h3{font-family:var(--display);font-size:17px;margin-top:8px}
.spage .datacard{gap:10px}
.spage .datacard li{font-size:14.5px;line-height:1.7;text-align:justify;hyphens:auto}
.spage .sbox{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:8px}
.spage .sbox p{font-size:14px;line-height:1.7;margin:0;max-width:none;text-align:justify;text-justify:inter-word;hyphens:auto}
.citebox .cite{overflow-wrap:anywhere;text-align:left!important}
.citebox .topics{font-size:13px!important;color:var(--muted)}
.prenote{border:1px dashed #8a8a8a;background:#f5f5f3;border-radius:10px;padding:10px 14px;font-size:14px;margin:0;max-width:none}
.srel h2{font-size:17px;color:#2f5d46;margin:0 0 10px;font-family:var(--display)}
@media (max-width:720px){.spage .dek{font-size:16px}.spage .ahead h1{font-size:22px}}
/* Home */
.mini-conf.wide{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){.mini-conf.wide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.mini-conf.wide{grid-template-columns:minmax(0,1fr)}}
.svcline{font-size:14px;color:var(--muted);text-align:center;margin:0;max-width:none}
/* Services */
.svccard .cta{display:flex;gap:10px;flex-wrap:wrap}
a.ftag:hover{background:color-mix(in srgb,var(--fc) 16%,#fff)}

/* ===== v3 (Oct 2026): justified prose everywhere (owner rule) =====
   Intros, deks, card text and article bodies are justified with hyphenation
   (pages carry lang="en"). Headings, buttons, tags, captions, nav and card
   titles keep their normal alignment. */
.hb-text p,.hero p,.subblock p,.ncta p,.svccard p,.panel p,.panel li,.audc li,.tier p,.steps li,
.spage .dek,.qlook p,.amain p,.amain li,.spage .sbox p,.art-sub p,.just{
  text-align:justify;text-justify:inter-word;text-indent:0;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.citebox .cite{text-align:left!important;hyphens:manual}
.svcline{text-align:center}
.brand .bs{white-space:nowrap}
.fco{font-size:13px;color:var(--muted)}
/* Very narrow screens: the narrowest card text falls back to left alignment to avoid wide gaps */
@media (max-width:419px){.steps li,.tier p{text-align:left}}

/* ===== v4 (Oct 2026): English mechanism figures in science articles =====
   Same pattern as the Chinese site (.fig / .fig-scroll): bordered image box,
   caption tight underneath, justified like the prose. */
.sfig{margin:0;display:grid;gap:6px;min-width:0}
.sfig-img{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.sfig img{display:block;width:100%;max-width:100%;height:auto}
.spage .sfigcap,.pv-art .amain .sfigcap{margin:0;max-width:none;font-size:13px;line-height:1.6;color:var(--muted);text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}

/* ===== v7 (Oct 2026): conference cards with per-event official logos =====
   Desktop: two-column card grid, logo box on the left, text on the right.
   Mobile (<=600px): each card is one horizontal row, 76px square logo box left.
   Missing/broken logos fall back to a generated green tile with the acronym. */
.conflist{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.confrow{display:grid;grid-template-columns:128px minmax(0,1fr);gap:16px;align-items:start;padding:16px 18px;min-width:0}
.confrow .conflogo{width:128px;height:88px;padding:8px;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box}
.confrow .conflogo img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.confrow .conflogo.tile{background:var(--accent);border-color:var(--accent);padding:6px}
.confrow .conflogo.tile b{color:#fff;font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:.02em;line-height:1;text-align:center;overflow-wrap:anywhere}
.confbody{min-width:0;display:flex;flex-direction:column;gap:3px}
.confrow .confdate{text-align:left;font-size:13px;font-weight:700;color:var(--accent);line-height:1.4}
.confrow .confdate.tba{color:#b0412e}
.confrow h3{margin:0;font-size:16px;line-height:1.4;overflow-wrap:break-word}
.confrow .confmeta{font-size:12.5px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.confrow p.confsum{margin:4px 0 6px;font-size:14px;line-height:1.65;max-width:none;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.confrow .conftags{margin-top:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media (max-width:820px){.conflist{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){
  .conflist{gap:8px}
  .confrow{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:12px}
  .confrow .conflogo{width:76px;height:76px;padding:5px;border-radius:9px}
  .confrow .conflogo.tile b{font-size:16px}
  .confrow h3{font-size:15px;line-height:1.35}
  .confrow .confdate{font-size:12.5px}
  .confrow .confmeta{font-size:12px}
  .confrow p.confsum{font-size:13.5px;line-height:1.6}
}
/* v7b: compact conference cards — logo beside the title block; summary and tags run full width beneath */
.confrow{grid-template-columns:104px minmax(0,1fr);grid-template-areas:"logo head" "sum sum" "tags tags";column-gap:14px;row-gap:0;padding:12px 14px;align-content:start}
.confrow .conflogo{grid-area:logo;width:104px;height:64px;padding:6px;align-self:center}
.confbody{display:contents}
.confrow .confdate,.confrow h3,.confrow .confmeta{grid-column:2}
.confrow .confdate{grid-row:1;align-self:start}
.confrow .confhead{grid-area:head}
.confrow p.confsum{grid-column:1/-1;margin:8px 0 6px;line-height:1.55}
.confrow .conftags{grid-column:1/-1;margin-top:0}
@media (max-width:600px){
  .confrow{grid-template-columns:64px minmax(0,1fr);column-gap:10px;padding:10px 12px}
  .confrow .conflogo{width:64px;height:64px;padding:4px}
  .confrow p.confsum{margin:6px 0 5px;line-height:1.5}
}
/* v8: conference filters — region dropdown sits beside the calendar button, same pill style, one row */
.sechead .confctl{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:nowrap}
.sechead .confctl .confcal{margin-left:0}
.calpop.regpop{width:200px}
.confrow .conftags .tag.reg{--tc:#6b7a72}
@media (max-width:520px){
  .sechead .confctl{gap:6px}
  .sechead .confctl .confcal summary{padding:5px 9px;gap:4px}
  .sechead .confctl #confreg .calpop{right:auto;left:0}
}

/* v9: type filter as its own compact pill dropdown (left of region); one row of three pills */
.calpop.typepop{width:252px}
.sechead .confctl #conftype .calpop{right:auto;left:0}
.sechead .confctl .confcal summary span{white-space:nowrap}
@media(max-width:520px){
  .sechead .confctl{width:100%;min-width:0}
  .sechead .confctl .confcal{flex:0 1 auto;min-width:0}
  .sechead .confctl .confcal summary{max-width:100%;box-sizing:border-box}
  .sechead .confctl .confcal summary span{overflow:hidden;text-overflow:ellipsis;min-width:0}
  .sechead .confctl .confcal summary svg{flex:none}
  .sechead .confctl .confcal summary>svg:last-child{display:none}
  .sechead .confctl .confcal summary{padding:5px 8px}
  .sechead .confctl .confcal summary span{font-size:12.5px}
  .sechead .confctl .confcal summary svg{width:15px;height:15px}
  .sechead .confctl #conftype .calpop{width:min(252px,calc(100vw - 24px))}
}
/* v10: wide logos get a wider box; phone nav fits without swiping */
/* one logo column width for every card so titles line up */
.confrow,.confrow.wl{grid-template-columns:150px minmax(0,1fr)}
.confrow .conflogo,.confrow.wl .conflogo{box-sizing:border-box;width:150px;height:64px;padding:5px 7px}
@media (max-width:600px){
  .confrow,.confrow.wl{grid-template-columns:100px minmax(0,1fr)}
  .confrow .conflogo,.confrow.wl .conflogo{width:100px;height:60px;padding:3px 4px}
}
@media (max-width:480px){
  .nav-in .brand{margin-right:0}
  .nav-in .bmark,.nav-in .bmark-wrap{width:28px;height:28px}
  .nav-in{padding:4px 4px}
  .nav-tabs{gap:0;justify-content:space-between;overflow-x:visible}
  .nav-in .nav-tabs a{padding:0 6px;font-size:12.5px;flex-shrink:1}
}
@media (max-width:400px){.nav-in .brand{display:none}}

/* ===== v12 (Oct 2026): side rails, field + conference-type tiles, list caps, full-width intros, footer ===== */
/* Intros use the full content width; no one-word last lines */
.hero p,.hb-text p,.textpage .hero p{max-width:none}
.hero p,.hb-text p,.panel p,.ncta p,.subblock p,.just,.confrow p.confsum,.audc li,.panel li{text-wrap:pretty}
/* Side rails: ad slots, falling back to the list of sources we cite. Desktop >=1440 only. */
.rail{display:none}
@media (min-width:1440px){
  .shell{display:grid;grid-template-columns:172px minmax(0,1fr) 172px;gap:16px;max-width:1560px;padding:0 12px;align-items:start}
  .shell>.col{min-width:0}
  .rail{display:block;position:sticky;top:64px;max-height:calc(100vh - 80px);overflow-y:auto;scrollbar-width:thin;margin-top:16px;background:color-mix(in srgb,var(--surface) 60%,var(--bg));border-radius:12px;padding:10px;box-sizing:border-box}
  .rail-l{border-right:1px solid var(--line)}
  .rail-r{border-left:1px solid var(--line)}
  .footshell{max-width:1560px;padding:0 12px}
}
@media (min-width:1640px){.shell{grid-template-columns:200px minmax(0,1180px) 200px;justify-content:center;max-width:1640px}.footshell{max-width:1640px}}
.railin{display:grid;gap:10px;align-content:start}
.ad-slot{display:block;min-width:0}
.srclist{display:grid;gap:9px}
.railhead{font-size:10.5px;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.09em;padding:2px 0 6px;border-bottom:1px solid var(--line)}
.srclist .railhead:not(:first-child){margin-top:6px}
.srcard{display:grid;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:inherit;text-decoration:none;overflow:hidden;min-width:0}
.srcard:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.srcard .wm{display:flex;align-items:center;justify-content:center;min-height:54px;padding:6px 8px;text-align:center;font-family:var(--display);font-weight:800;font-size:17px;line-height:1.15;color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,#fff);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.srcard .srcbody{display:flex;justify-content:space-between;gap:6px;align-items:baseline;padding:6px 9px;min-width:0}
.srcard em{font-size:10.5px;line-height:1.35;color:var(--muted);font-style:normal}
.srcard i,.srgroup i{font-style:normal;font-size:10.5px;font-weight:700;color:var(--muted);white-space:nowrap}
.srgroup{border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:7px 9px 8px;display:grid;gap:4px;min-width:0}
.srgroup .k{font-size:10px;letter-spacing:.07em;font-weight:800;color:var(--muted);text-transform:uppercase}
.srgroup a,.srgroup .srline{display:flex;justify-content:space-between;gap:6px;align-items:baseline;font-size:11.5px;font-weight:700;line-height:1.3;min-width:0}
.srgroup .srline{color:var(--fg);font-weight:500}
.srgroup a span,.srgroup .srline span{min-width:0;overflow-wrap:anywhere}
.srnote{display:block;border:1px dashed var(--line);border-radius:9px;padding:7px 9px;font-size:10.5px;line-height:1.45;color:var(--muted);text-decoration:none}
.srnote:hover{color:var(--accent)}
/* Footer: full content width, links on one line on desktop */
.foot-in>*{max-width:none}
.footnav{gap:6px 18px}
@media (max-width:640px){.footnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.footcols{gap:6px}}
/* Tile grids (same card pattern as the Deals type tiles) */
.trkgrid.tiles3{grid-template-columns:repeat(3,minmax(0,1fr))}
.trkgrid.tiles4{grid-template-columns:repeat(4,minmax(0,1fr))}
.trkgrid{gap:10px}
.trkcard.art{cursor:pointer}
.trkcard.art .cbody>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.trkcard.ctile{min-height:0;grid-template-columns:64px minmax(0,1fr);padding:9px 12px 9px 9px;gap:12px}
.trkcard.ctile .artthumb{width:64px;height:64px;border-radius:10px;background:#F7F3EA}
.trkcard.ctile b{font-size:15px;line-height:1.3}
.trkcard.nil{opacity:.55}
@media (max-width:1100px){.trkgrid.tiles4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.trkgrid.tiles3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .trkgrid.tiles3 .trkcard.art{grid-template-columns:1fr;justify-items:center;text-align:center;padding:10px 8px;gap:6px;min-height:0}
  .trkgrid.tiles3 .trkcard.art .artthumb{width:64px;height:64px}
  .trkgrid.tiles3 .trkcard.art .cbody>span{display:none}
  .trkgrid.tiles3 .trkcard.art b{font-size:13.5px;line-height:1.25}}
@media (max-width:640px){
  .trkgrid{gap:8px}
  .trkgrid.tiles3 .trkcard.art{grid-template-columns:1fr;padding:8px 5px 9px;gap:5px}
  .trkgrid.tiles3 .trkcard.art .artthumb{width:52px;height:52px;border-radius:9px}
  .trkgrid.tiles3 .trkcard.art b{font-size:12px;hyphens:auto;overflow-wrap:anywhere}
  .trkgrid.tiles3 .trkcard.art em{font-size:11px}
  .trkcard.ctile{grid-template-columns:44px minmax(0,1fr);gap:9px;padding:7px 9px 7px 7px}
  .trkcard.ctile .artthumb{width:44px;height:44px;border-radius:8px}
  .trkcard.ctile b{font-size:13px}
  .trkcard.ctile em{font-size:11px}
}
/* "View all" under capped lists */
.morewrap{display:flex;justify-content:center;margin-top:14px}
.morewrap:has(.morebtn[hidden]){display:none}
.morebtn{font:inherit;font-size:13.5px;font-weight:700;color:var(--accent);background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:999px;padding:8px 22px;cursor:pointer}
.morebtn:hover{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
/* v12b: equal tile heights; short field labels on narrow screens; tidy phone footer */
.trkgrid.tiles3,.trkgrid.tiles4{grid-auto-rows:1fr}
.trkcard b i{font-style:normal}
.trkcard b .sf{display:none}
@media (max-width:900px){.trkgrid.tiles3 .trkcard b .lf{display:none}.trkgrid.tiles3 .trkcard b .sf{display:inline}.trkgrid.tiles3 .trkcard.art b{hyphens:manual}}
@media (max-width:640px){.footnav{display:flex;flex-wrap:wrap;gap:8px 18px}.footnav a{white-space:nowrap}}
/* v12b: rails use each source's official logo (uniform logo box) + a small count */
.srclist{gap:5px}
.srclist .railhead{margin-bottom:2px}
.srclist .railhead:not(:first-child){margin-top:4px}
.srk{font-size:9.5px;letter-spacing:.08em;font-weight:800;color:var(--muted);text-transform:uppercase;margin:5px 0 0}
.srlogo{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"lg n" "cap cap";align-items:center;column-gap:8px;row-gap:1px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:5px 8px;text-decoration:none;color:var(--fg);min-width:0}
.srlogo:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.srlogo .lg{grid-area:lg;display:flex;align-items:center;justify-content:center;height:28px;min-width:0}
.srlogo .lg img{display:block;width:100%;height:100%;max-width:none;object-fit:contain}
.srlogo .n,.srline .n{grid-area:n;min-width:20px;text-align:center;font-size:10.5px;font-weight:800;line-height:18px;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,#fff);border-radius:999px;padding:0 6px}
.srlogo .cap{grid-area:cap;font-size:10px;line-height:1.3;color:var(--muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srline{display:flex;justify-content:space-between;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:5px 8px;font-size:11px;font-weight:700;color:var(--fg)}
.srclist .srnote{margin-top:3px;padding:6px 8px;font-size:10px}
/* v12b-2: wider rails at 1440+, logo box takes the row; count as compact figure on the right */
@media (min-width:1440px){.shell{grid-template-columns:184px minmax(0,1fr) 184px}}
@media (min-width:1640px){.shell{grid-template-columns:200px minmax(0,1180px) 200px}}
.srlogo{grid-template-columns:minmax(0,1fr) 22px;column-gap:6px;padding:6px 7px 6px 9px}
.srlogo .lg{height:26px;justify-content:center}
.srlogo .lg img{width:auto;height:auto;max-width:100%;max-height:100%}
.srlogo .n,.srline .n{min-width:0;background:none;padding:0;font-size:11px;color:var(--muted);text-align:right}
.srlogo:hover .n{color:var(--accent)}
.srlogo .cap{font-size:9.5px;margin-top:2px}

/* ===== v13 (Oct 2026): tiles match the Deals tiles; source cards in the rails ===== */
/* Science + Conferences tile grids (9 tiles): identical dimensions to the Deals type tiles.
   3 columns on desktop, 2 on tablet/phone (the odd last tile spans the row), Deals' compact phone layout. */
.trkgrid.tiles9{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:8px}
.trkgrid.tiles9 .trkcard.art{grid-template-columns:92px minmax(0,1fr);gap:14px;padding:10px 14px 10px 10px;min-height:112px;justify-items:stretch;text-align:left}
.trkgrid.tiles9 .trkcard.art .artthumb{width:92px;height:92px;border-radius:12px}
.trkgrid.tiles9 .trkcard.art b{font-size:16px;line-height:1.3}
.trkgrid.tiles9 .trkcard.art .cbody>span{display:-webkit-box;font-size:12px}
.trkgrid.tiles9 .trkcard b .lf{display:inline}.trkgrid.tiles9 .trkcard b .sf{display:none}
.trkcard.ctile .artthumb{background:#F7F3EA}
.trkcard.ctile .artthumb img{object-fit:contain;padding:4px;box-sizing:border-box}
.trkcard .nx{display:block;font-style:normal;font-size:11.5px;line-height:1.35;color:var(--accent);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
@media (max-width:900px){.trkgrid.tiles9{grid-template-columns:repeat(2,minmax(0,1fr))}.trkgrid.tiles9>:last-child:nth-child(odd){grid-column:1/-1}}
@media (max-width:640px){
  .trkgrid.tiles9{gap:8px}
  .trkgrid.tiles9 .trkcard.art{grid-template-columns:52px minmax(0,1fr);gap:9px;padding:8px 10px 8px 8px;min-height:0}
  .trkgrid.tiles9 .trkcard.art .artthumb{width:52px;height:52px;border-radius:9px}
  .trkgrid.tiles9 .trkcard.art b{font-size:14.5px}
  .trkgrid.tiles9 .trkcard.art .cbody>span{display:none}
  .trkgrid.tiles9 .trkcard b .lf{display:none}.trkgrid.tiles9 .trkcard b .sf{display:inline}
  .trkcard .nx{font-size:11px}
}
/* Side rails: wider at >=1600, normal page flow (not sticky) so every source card is reachable */
@media (min-width:1440px){
  .shell{grid-template-columns:200px minmax(0,1fr) 200px}
  .rail{position:static;height:auto;max-height:none;overflow:visible}
}
@media (min-width:1600px){.shell{grid-template-columns:232px minmax(0,1fr) 232px;max-width:1720px}.footshell{max-width:1720px}}
@media (min-width:1800px){.shell{grid-template-columns:256px minmax(0,1180px) 256px;justify-content:center;max-width:1800px}.footshell{max-width:1800px}}
.srclist{gap:8px}
.srcard2{display:grid;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--fg);min-width:0}
.srcard2:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 2px 10px rgba(20,60,40,.07)}
.srcard2 .lg{display:flex;align-items:center;justify-content:center;height:58px;padding:9px 14px;box-sizing:border-box;border-bottom:1px solid var(--line);background:#fff}
.srcard2 .lg img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.srcard2 .tx{display:grid;gap:2px;padding:7px 10px 8px;background:color-mix(in srgb,var(--accent) 3%,#fff)}
.srcard2 b{font-family:var(--display);font-size:12.5px;line-height:1.3;font-weight:800}
.srcard2 .d,.srline .d{font-size:11px;line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.srcard2 .n{font-size:10.5px;font-weight:800;color:var(--accent);letter-spacing:.02em;margin-top:1px}
.srline{align-items:flex-start;padding:8px 10px}
.srline>span:first-child{display:grid;gap:2px}
.srline b{font-family:var(--display);font-size:12.5px}
.srline .n{font-size:11px;font-weight:800;color:var(--accent);background:none;padding:0}
@media (min-width:1600px){.srcard2 .lg{height:66px}.srcard2 b{font-size:13px}.srcard2 .d{font-size:11.5px}}
/* v13b: count + next event share one line (keeps Deals tile height); phone shows description like Deals */
.trkcard .cmeta{display:flex;align-items:baseline;gap:0;min-width:0}
.trkcard .cmeta em{flex:none}
.trkcard .cmeta .nx{flex:1 1 auto}
.trkcard .cmeta .nx:not(:empty)::before{content:"·";margin:0 6px;color:var(--muted)}
.trkgrid.tiles9 .trkcard b{overflow-wrap:anywhere;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
@media (max-width:640px){
  .trkgrid.tiles9 .trkcard.art .cbody>span{display:-webkit-box;font-size:12px;line-height:1.4}
  .trkgrid.tiles9 .trkcard .nx{display:none}
}
/* v13c: Science field names wrap (up to two lines) with a one-line description, so tiles keep the Deals height;
   conference titles stay on one line. Phone: same 103px tile height as the Deals tiles. */
#ftiles .trkcard b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}
#ftiles .trkcard.art .cbody>span{-webkit-line-clamp:1}
@media (max-width:640px){
  .trkgrid.tiles9 .trkcard.art{min-height:103px}
  .trkgrid.tiles9 .trkcard b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;font-size:14px}
  .trkgrid.tiles9 .trkcard.art .cbody>span{-webkit-line-clamp:2}
  #ftiles .trkcard.art .cbody>span{-webkit-line-clamp:1}
}
@media (max-width:640px){.trkgrid.tiles9 .trkcard.art .cbody>span{-webkit-line-clamp:1}.trkgrid.tiles9 .trkcard.art .cbody{gap:3px}}
@media (max-width:640px){.trkgrid.tiles9 .trkcard.art{box-sizing:border-box;min-height:103px}}
@media (max-width:640px){#ctiles .trkcard.art .cbody>span{-webkit-line-clamp:2}}
@media (max-width:380px){#ctiles .trkcard.art .cbody>span{-webkit-line-clamp:1}}

/* v13b: phones show lists only, no category tiles */
@media (max-width:640px){section.tilesec{display:none!important}}

/* v14: source rails only on the homepage; other pages use a single centred column (ad slots added later) */
@media (min-width:1280px){.shell.norail{grid-template-columns:minmax(0,1180px)!important;justify-content:center}}
/* v14: compact desktop category tiles, same height on Science, Deals and Conferences */
@media (min-width:641px){
  .trkgrid .trkcard.art,.trkgrid.tiles9 .trkcard.art,.trkcard.ctile{grid-template-columns:60px minmax(0,1fr)!important;gap:12px!important;padding:8px 12px 8px 8px!important;min-height:0!important;height:78px;box-sizing:border-box;align-items:center;text-align:left;justify-items:stretch}
  .trkgrid .trkcard.art .artthumb,.trkgrid.tiles9 .trkcard.art .artthumb,.trkcard.ctile .artthumb{width:60px!important;height:60px!important;border-radius:10px}
  .trkgrid .trkcard.art b,.trkgrid.tiles9 .trkcard.art b{font-size:14.5px!important;line-height:1.25}
  #ftiles .trkcard b{-webkit-line-clamp:1}
  .trkgrid .trkcard.art .cbody>span,.trkgrid.tiles9 .trkcard.art .cbody>span{display:-webkit-box!important;-webkit-line-clamp:1!important;font-size:12px}
  .trkgrid .trkcard.art .cbody{gap:2px}
}

/* v15: long nav names on wide screens, short names on narrow screens */
@media (max-width:1100px){.nav-tabs .nl{display:none}}
@media (min-width:1101px){.nav-tabs a{white-space:nowrap}}
.nav-tabs .nl{margin-left:.3em}
/* v16: taller top bar and bolder section names */
.nav-in a{font-weight:600;color:color-mix(in srgb,var(--fg) 78%,var(--muted))}
.nav-in a.on{color:var(--bg)}
@media (min-width:641px){
  nav,.navshell,.nav-in{height:68px!important;max-height:68px!important;box-sizing:border-box}
  .nav-in{padding:0 16px}
  .nav-in .nav-tabs a{font-size:14.5px;height:42px;min-height:42px;padding:0 16px;border-radius:21px;font-weight:650;letter-spacing:.005em}
  .nav-in .bmark,.nav-in .bmark-wrap{width:40px;height:40px}
  .rail{top:80px;max-height:calc(100vh - 96px)}
}
@media (max-width:640px){.nav-in .nav-tabs a{font-weight:600}}

/* v17 article aside
   Science articles follow the Chinese site's article layout (.abody / .meta.side2):
   desktop (>=861px) = two columns, a 300px left aside with Citation, About the authors and the
   Key data card, 28px gap, main column (Quick look, body, mechanism figure) on the right; the aside is
   not sticky (position:static, as on the Chinese site). <=860px (always on phones) = one column in the
   Chinese mobile order: Quick look, Key data card, body, Citation / About the authors, note.
   Header, Related science and the subscribe box stay full width. */
.spage{max-width:none}
.sgrid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
.sgrid>*{min-width:0}
.saside{display:flex;flex-direction:column;gap:14px;position:static}
.smain{display:grid;gap:18px;align-content:start}
.smain .note{margin:0;max-width:none}
@media (min-width:861px){
  .saside .sbox p{font-size:13.5px;line-height:1.7}
  .saside .citebox .topics{font-size:12.5px!important}
  /* short metadata lines (topic list, corresponding author) stay left-aligned in the 300px aside; prose stays justified */
  .saside .citebox .topics,.saside .authorbox .au{text-align:left;hyphens:manual;-webkit-hyphens:manual}
  .saside .datacard{padding:14px 16px;gap:8px}
  .saside .datacard h2{font-size:15px;margin-bottom:2px}
  .saside .datacard p,.saside .datacard li{font-size:13px;line-height:1.65}
  .saside .datacard ul{gap:5px}
}
@media (max-width:860px){
  .sgrid{grid-template-columns:minmax(0,1fr);gap:18px}
  .saside,.smain{display:contents}
  .sgrid .qlook{order:1}
  .sgrid .datacard{order:2}
  .sgrid .amain{order:3}
  .sgrid .citebox,.sgrid .authorbox{order:4}
  .sgrid .note{order:5}
}

/* ===== typography sample 2026-10-12 (Jing approved) ===== */
/* Article body — scoped to .amain so sidebar Key data card (.sec.datacard) stays compact */
.spage .amain,
.pv-art .amain{
  max-width:680px; /* ~68ch at 18px body */
}
.spage .amain p,
.spage .amain li,
.spage .amain .sec p,
.spage .amain .sec li,
.pv-art .amain .sec p,
.pv-art .amain .sec li,
.amain p,
.amain li{
  font-size:18px;
  line-height:1.65;
  max-width:68ch; /* ~680px */
}
/* Article H1 */
.spage .ahead h1,
.npage .ahead h1,
.pv-art .ahead h1{
  font-size:40px;
  line-height:1.2;
  letter-spacing:-0.01em;
}
/* Article H2 — main column only (not sidebar .side-card h2 / datacard) */
.spage .amain .sec h2,
.spage .amain h2,
.pv-art .amain .sec h2,
.amain .sec h2{
  font-size:24px;
  line-height:1.3;
}
/* Summaries / list blurbs */
.scap,
.hb-text p,
.hero p,
.confrow p.confsum,
.spage .dek,
.feed-details-panel p:not(.msline){
  font-size:15px;
  line-height:1.55;
}
/* Home H1 line-height only */
.hb-text h1,
.hero h1{
  line-height:1.2;
}
@media (max-width:720px){
  .spage .ahead h1,
  .npage .ahead h1{font-size:28px;line-height:1.2;letter-spacing:-0.01em}
  .spage .amain p,.spage .amain .sec p,.spage .amain .sec li,
  .pv-art .amain .sec p,.pv-art .amain .sec li,
  .amain p,.amain li{font-size:17px;line-height:1.65}
  .spage .amain .sec h2,.amain .sec h2{font-size:22px}
}

/* ===== Audit 2026-10-15 (preview): signup forms, tracker, byline, sources line, social ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.subform{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0}
.subform input[type=email]{font:inherit;font-size:14px;height:40px;box-sizing:border-box;padding:0 14px;min-width:0;flex:1 1 220px;max-width:340px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:999px;background:var(--bg);color:var(--fg)}
.subform input[type=email]:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}
.subform .btn{margin:0;min-height:40px;height:40px;border:0;cursor:pointer;font-family:inherit}
.subhint{font-size:12px;line-height:1.5;color:var(--muted);margin:5px 0 0;max-width:none;text-align:left!important}
.hb-sub{margin-top:8px;max-width:460px}
.hb-sub .subform .btn{background:var(--accent);color:var(--bg)}
.hb-stats .hb-upd{color:var(--accent);font-weight:700}
.lead h2.leadh{font-family:var(--display);font-size:clamp(19px,2.6vw,25px);font-weight:800;margin:0}
.art-sub .asubtxt{flex:1 1 280px}
.art-sub .asubform{flex:1 1 320px}
.art-sub .subform input[type=email]{border-color:rgba(255,255,255,.6);max-width:none}
.art-sub .subform .btn{background:#fff;color:#2f5d46}
.art-sub .subhint{color:#fff;opacity:.85}
#signup .subform{margin:4px 0 2px}
.byline{font-size:13px;color:var(--muted);margin:0;max-width:none;text-align:left!important}
.byline a{color:var(--accent);font-weight:600}
.dealby{margin:0 0 8px}
.feed-details-panel .byline{margin-top:6px}
.oltrack .trkbox{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px 22px;align-items:center}
.oltrack .trkbars{display:grid;gap:9px}
.oltrack .trow{display:grid;grid-template-columns:42px minmax(0,1fr) 150px;gap:10px;align-items:center;font-size:13px}
.oltrack .ty{font-weight:700;color:var(--fg)}
.oltrack .tbar{position:relative;height:14px;border-radius:7px;background:color-mix(in srgb,var(--accent) 8%,var(--bg))}
.oltrack .tbar i{position:absolute;left:0;top:0;bottom:0;border-radius:7px;background:color-mix(in srgb,var(--accent) 38%,var(--bg))}
.oltrack .tbar i.up{background:var(--accent)}
.oltrack .tv{color:var(--muted)}
.oltrack .tv b{color:var(--accent);font-family:var(--display)}
.oltrack .tkpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.oltrack .tkpis div{display:grid;gap:2px;border-left:3px solid color-mix(in srgb,var(--accent) 45%,var(--line));padding-left:9px}
.oltrack .tkpis b{font-family:var(--display);font-size:17px;color:var(--accent)}
.oltrack .tkpis span{font-size:12px;color:var(--muted)}
.oltrack .tnote{grid-column:1/-1;font-size:12px;color:var(--muted);margin:2px 0 0;max-width:none}
@media (max-width:720px){.oltrack .trkbox{grid-template-columns:1fr}.oltrack .trow{grid-template-columns:38px minmax(0,1fr) 120px}}
.srcline{font-size:12px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin:4px 0 0;max-width:none;text-align:left!important}
.srcline b{color:var(--fg)}
.nav-in a.navsocial{padding:0;width:36px;flex:0 0 36px;color:var(--accent)}
@media (min-width:641px){.nav-in a.navsocial{height:42px;width:42px;flex-basis:42px;border-radius:21px}}
@media (max-width:640px){.nav-in a.navsocial{display:none}}
.footnav a.fsocial{display:inline-flex;align-items:center;gap:5px}
.hb-text p.subhint,.art-sub p.subhint,.panel p.subhint{font-size:12px;line-height:1.5;text-align:left}

/* ===== Compact hero 2026-10-16: shorter hero, subscribe card on the right (desktop) ===== */
.hero-band{min-height:0;align-items:center}
.hb-text{padding:14px 20px 12px;gap:5px;max-width:none}
.hb-text h1{font-size:clamp(19px,2.35vw,27px);line-height:1.15;letter-spacing:0}
.hb-text p{font-size:14px;line-height:1.45}
.hb-cta{margin-top:2px}
.hb-cta .btn{min-height:34px;height:34px;padding:0 14px;display:inline-flex;align-items:center}
.hb-stats{margin-top:1px}
.hb-sub{margin-top:2px}
.hb-sub .subform input[type=email]{height:36px;font-size:13.5px}
.hb-sub .subform .btn{height:36px;min-height:36px;padding:0 16px}
.hb-text p.subhint{font-size:11.5px;line-height:1.4;margin-top:4px}
@media (min-width:769px){
  .hb-text{grid-template-columns:minmax(0,1fr) minmax(250px,320px);column-gap:24px;row-gap:5px}
  .hb-text{padding:18px 22px 16px}
  .hb-text>*{grid-column:1}
  .hb-text>.hb-sub{grid-column:2;grid-row:1 / span 5;align-self:center;margin:0;max-width:none;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:0 2px 10px rgba(0,0,0,.05)}
  .hb-sub .subform{flex-wrap:nowrap}
  .hb-sub .subform input[type=email]{flex:1 1 auto;max-width:none;width:100%}
  .hb-art img{left:auto;right:0;width:64%;object-fit:cover;object-position:80% 50%}
}
@media (max-width:768px){
  .hb-text{padding:9px 12px;gap:3px}
  .hb-kicker{font-size:10.5px}
  .hb-text h1{font-size:19px}
  .hb-text p{font-size:13.5px;line-height:1.42}
  .hb-cta .btn{min-height:36px;height:36px;padding:0 14px;font-size:13px}
  .hb-sub{margin-top:4px}
  .hb-stats{gap:2px 7px;font-size:10px}
  .hb-stats b{font-size:12.5px;margin-right:2px}
  .hb-text p.subhint{font-size:11px;margin-top:3px}
}
/* 2026-10-16: source rails back on the homepage; keep the "Sponsor this space" note hidden */
.rail .srnote[href="/sponsor/"]{display:none}

/* ===== 2026-10-16 (Jing): hero shows only kicker, title, paragraph and the subscribe form (the Latest science / Deals buttons and the
   stats line were removed; the top nav already links there). Subscribe sits bottom-left under the paragraph. The illustration keeps its
   original size, filling the right side (same scale, shifted ~8% right so the cells sit in the right ~42%); no overlap. ===== */
@media (min-width:769px){
  .hero-band{min-height:200px;align-items:center;background:var(--surface)}
  .hero-band::after{background:linear-gradient(95deg,rgba(255,255,255,.96) 8.1%,rgba(255,255,255,.92) 58.1%,rgba(255,255,255,.4) 100%)}
  .hb-art img{left:8.1%;right:auto;width:100%;object-fit:cover;object-position:50% 50%}
  .hb-text{width:58%;max-width:58%;box-sizing:border-box;grid-template-columns:minmax(0,1fr);row-gap:4px;padding:14px 20px}
  .hb-text p.just{font-size:13.5px;line-height:1.42}
  .hb-text>*{grid-column:1}
  .hb-text>.hb-sub{grid-column:1;grid-row:auto;align-self:start;justify-self:start;width:auto;max-width:100%;margin:6px 0 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
  .hb-sub .subform{flex-wrap:nowrap;gap:6px}
  .hb-sub .subform input[type=email]{flex:none;width:220px;max-width:none;height:34px}
  .hb-sub .subform .btn{height:34px;min-height:34px;padding:0 16px}
  .hb-text p.subhint{font-size:10.5px;line-height:1.35;margin-top:3px}
}
@media (min-width:769px) and (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero-band::after{background:linear-gradient(100deg,rgba(17,23,21,.93) 8.1%,rgba(17,23,21,.8) 52.1%,rgba(17,23,21,.33) 100%)}}
@media (min-width:769px){:root[data-theme="dark"] .hero-band::after{background:linear-gradient(100deg,rgba(17,23,21,.93) 8.1%,rgba(17,23,21,.8) 52.1%,rgba(17,23,21,.33) 100%)}}
/* 1440-1699px: the side rails narrow the hero, so give the text column 60% and shift the (same-scale) illustration 10% right */
@media (min-width:1440px) and (max-width:1699px){
  .hb-text{width:60%;max-width:60%}
  .hb-art img{left:10%}
  .hero-band::after{background:linear-gradient(95deg,rgba(255,255,255,.96) 10%,rgba(255,255,255,.92) 60%,rgba(255,255,255,.42) 100%)}
}
@media (max-width:768px){
  .hb-text{padding:8px 12px 12px}
  .hb-sub{margin-top:6px}
}

/* 2026-10-18 快讯 / Briefs (collapsible, abstract-based) */
.briefs{margin-top:4px}
.briefs>summary{list-style:none;cursor:pointer}
.briefs>summary::-webkit-details-marker{display:none}
.briefs>summary h2::after{content:" ▸";color:var(--muted);font-size:13px}
.briefs[open]>summary h2::after{content:" ▾"}
.brieflist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.brieflist li{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:grid;gap:5px}
.brieflist h3{font-size:14.5px;margin:0}.brieflist p{font-size:13.5px;color:var(--muted);max-width:none;margin:0}
.brieflist .blabel{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.03em}

/* 2026-10-18 overflow guard: long URLs/DOIs in sidebar cards (Citation, About the authors,
   Key data card) and article sections must wrap inside their box instead of widening the
   grid track and spilling into the main column / causing horizontal scroll on phones.
   Grid tracks are minmax(0,1fr) and grid/flex children may shrink; justified text is unchanged. */
.sgrid>*,.saside>*,.smain>*,.amain>*,.sbox>*,.sec>*,.pv-card>*,.abody>*,.meta>*{min-width:0}
.sbox,.sec,.meta{grid-template-columns:minmax(0,1fr)}
.spage .sbox p,.spage .sbox li,.citebox .cite,.amain p,.amain li,.sec p,.sec li,.meta p,.side2 .sbox p,.side2 .small,.pv-card li,.sgrid a,.abody a{overflow-wrap:anywhere}
@media (max-width:860px){.sgrid,.pv-art .abody{grid-template-columns:minmax(0,1fr)}}
