:root{--bg:#fbfaf7;--card:#fff;--ink:#1d2430;--mut:#667085;--line:#e7e3da;--acc:#1f5f8b;--acc2:#e8f1f7;--warm:#b5651d;--ok:#2f7d4f;--r:10px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-size:15.5px;line-height:1.65;font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC","Hiragino Sans GB",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.35;font-family:inherit;font-weight:700;letter-spacing:0}
h1{font-size:2rem;margin:.6em 0 .3em}h2{font-size:1.25rem;margin:1.4em 0 .6em}h3{font-size:1.05rem;margin:.2em 0}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.muted{color:var(--mut)}.small{font-size:.85rem}.lead{color:var(--mut);font-size:1.05rem;max-width:760px;margin-top:0}
/* header */
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.top-in{display:flex;align-items:center;gap:24px;height:60px}
.brand{font-size:1.15rem;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;white-space:nowrap}
.brand small{font-size:.72rem;font-weight:500;color:var(--mut);letter-spacing:.04em;margin-left:4px}
.brand .dot{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,var(--acc) 35%,transparent 36%),radial-gradient(circle,transparent 55%,var(--acc) 56%,var(--acc) 64%,transparent 65%);box-shadow:0 0 0 3px var(--acc2)}
.brand:hover{text-decoration:none}
nav{display:flex;gap:4px;flex:1;overflow-x:auto}
nav a{color:var(--ink);padding:6px 11px;border-radius:8px;font-size:.93rem;white-space:nowrap}
nav a.on,nav a:hover{background:var(--acc2);color:var(--acc);text-decoration:none}
.who{display:flex;gap:8px;align-items:center}
.acct{display:flex;align-items:center;gap:6px;color:var(--ink)}.acct img{width:28px;height:28px;border-radius:50%}
/* buttons */
.btn{display:inline-block;background:var(--acc);color:#fff;border:1px solid var(--acc);padding:9px 16px;border-radius:999px;font-size:.92rem;cursor:pointer;font-weight:500;line-height:1.2}
.btn:hover{filter:brightness(1.08);text-decoration:none}
.btn.ghost{background:#fff;color:var(--acc)}.btn.sm{padding:6px 12px;font-size:.84rem}
.pro{background:var(--warm);color:#fff;font-size:.66rem;padding:2px 6px;border-radius:5px;letter-spacing:.05em;vertical-align:middle;font-family:inherit}
/* hero */
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center;padding:34px 0 18px}
.hero h1{font-size:2.5rem;margin:0 0 .3em}.hero h1 em{color:var(--acc);font-style:normal}
.hero p{color:var(--mut);font-size:1.08rem;max-width:620px}
.search{display:flex;gap:8px;margin-top:18px}
.search input{flex:1;padding:12px 16px;border:1px solid var(--line);border-radius:999px;font-size:1rem;background:#fff}
.search button{background:var(--ink);color:#fff;border:0;border-radius:999px;padding:0 22px;font-size:.95rem;cursor:pointer}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stats>div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.stats b{display:block;font-size:1.7rem;font-weight:700}.stats span{color:var(--mut);font-size:.82rem}
.stats .trend{grid-column:span 3;color:var(--acc)}.stats .trend span{display:block}
.stats.inline{grid-template-columns:repeat(4,1fr);margin-bottom:20px}
/* layout */
.grid2{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px}
.sec-h{display:flex;justify-content:space-between;align-items:baseline}.sec-h a{font-size:.88rem}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:18px 0}
.panel h2{margin-top:0;font-size:1.08rem}.panel h2 small{font-size:.75rem;font-weight:400;color:var(--mut);margin-left:4px}
.panel.cta{background:linear-gradient(160deg,#f2f7fb,#fff)}
/* cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin:12px 0;transition:border-color .15s}
.card:hover{border-color:#c9d6e0}
.panel .card{border:0;border-top:1px solid var(--line);border-radius:0;padding:10px 0;margin:0}
.card h3 a{color:var(--ink)}.card h3 a:hover{color:var(--acc)}
.title-en{font:400 .84rem/1.45 Georgia,"Times New Roman",serif;color:#7b8491;margin:-2px 0 5px}
.meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:.78rem;color:var(--mut);margin-bottom:4px}
.type{padding:1px 8px;border-radius:999px;background:#eef0f3;color:#475467;font-weight:500}
.t-article{background:#e8f1f7;color:#1f5f8b}.t-preprint{background:#efeafa;color:#5b3fa0}
.t-report-thinktank,.t-report-igo,.t-report-government{background:#e9f5ee;color:#2f7d4f}
.t-report-commercial,.t-index{background:#fbefe3;color:#9a5418}
.oa{color:var(--ok);font-weight:600}.reg:before{content:"◎ ";}
.src{font-size:.85rem;color:var(--mut)}.sum{margin:.4em 0;color:#344054}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.chip{font-size:.78rem;padding:2px 10px;border:1px solid var(--line);border-radius:999px;color:#344054;background:#fafafa}
.chip:hover{border-color:var(--acc);color:var(--acc);text-decoration:none}
.chips.big .chip{font-size:.86rem;padding:4px 12px}
/* rising */
.rising{margin:0;padding-left:20px}.rising li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed var(--line)}
.rising span{color:var(--mut);font-size:.85rem}.rising .up{color:var(--ok);font-weight:600}
/* domains */
.domains{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.dom{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;color:var(--ink);display:flex;flex-direction:column;gap:4px}
.dom:hover{border-color:var(--acc);text-decoration:none}.dom b{font-family:inherit;font-size:1.02rem;font-weight:700}
.dom span{font-size:.84rem;color:var(--mut)}.dom em{font-style:normal;font-size:.78rem;color:var(--acc)}
/* taxonomy */
.tax{columns:3 320px;column-gap:20px}.taxd{break-inside:avoid;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin-bottom:16px}
.taxh{display:flex;align-items:center;gap:10px}.taxh h2{margin:0;font-size:1.05rem;flex:1}.taxh>span{color:var(--mut);font-size:.85rem}
.taxd ul{list-style:none;padding:0;margin:0}.taxd li{display:flex;justify-content:space-between;padding:3px 0;font-size:.92rem}.taxd li span{color:var(--mut)}
.spark{color:var(--acc);display:block}
/* topic page */
.crumbs{font-size:.85rem;color:var(--mut);margin-top:18px}
.page-h{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
.page-side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.page-side small{color:var(--mut)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:18px 0 6px}
.tabs a{padding:8px 14px;color:var(--mut);border-bottom:2px solid transparent;font-size:.92rem}
.tabs a.on{color:var(--acc);border-color:var(--acc)}.tabs a:hover{text-decoration:none;color:var(--ink)}
.timeline .tl-m{border-left:2px solid var(--line);padding-left:18px;margin-left:6px;position:relative}
.timeline h3{font-size:.82rem;font-weight:600;letter-spacing:.08em;color:var(--mut);margin:22px 0 6px}
.timeline h3:before{content:"";position:absolute;left:-7px;margin-top:4px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--acc)}
/* filters */
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px;margin:12px 0}
.filters input,.filters select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:.9rem;background:#fff}
.filters input[name=q]{flex:1;min-width:200px}
.adv{width:100%;font-size:.9rem}.adv summary{cursor:pointer;color:var(--mut)}.adv[open]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.adv[open] summary{width:100%}
.locked{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff8f0;border:1px solid #f3d9bd;border-radius:var(--r);padding:12px 16px;margin:12px 0;flex-wrap:wrap}
.blur{filter:blur(3px);color:var(--mut);user-select:none}
.pager{display:flex;gap:6px;align-items:center;margin:20px 0}.pager a,.pager b{padding:4px 10px;border-radius:6px;border:1px solid var(--line);background:#fff}
.pager b{background:var(--acc);color:#fff;border-color:var(--acc)}.pager span{color:var(--mut);margin-left:8px;font-size:.85rem}
.empty{padding:40px;text-align:center;color:var(--mut)}
/* item */
.item h1{font-size:1.8rem}.byline{color:#344054}.dates{color:var(--mut);font-size:.88rem}
.item-title-en{font:400 1rem/1.55 Georgia,"Times New Roman",serif;color:#667085;margin-top:-.55rem}
.summary p{font-size:1.06rem}
.structured dl,.facts dl{margin:0}.structured dt,.facts dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-top:12px}
.structured dd,.facts dd{margin:2px 0 0}.structured ul{margin:4px 0;padding-left:20px}
/* institutions */
.insts{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.inst{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;color:var(--ink)}
.inst:hover{border-color:var(--acc);text-decoration:none}.inst span{font-size:.82rem;color:var(--mut)}.inst em{font-style:normal;font-size:.78rem;color:var(--acc)}
/* archive */
.months{display:grid;gap:4px;max-width:640px}.months a{display:grid;grid-template-columns:48px 1fr 40px;align-items:center;gap:10px;color:var(--ink)}
.months i{display:block;height:14px;background:var(--acc);opacity:.75;border-radius:3px}.months b{font-weight:500;color:var(--mut);font-size:.88rem}
/* pricing */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px}
.plan{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px}
.plan.hl{border:2px solid var(--acc);box-shadow:0 6px 24px rgba(31,95,139,.08)}
.plan h2{margin:0}.price{font-size:1.6rem;font-weight:700;margin:.3em 0}.price small{font-size:.9rem;font-weight:400;color:var(--mut)}
.plan ul{padding-left:18px;margin:12px 0 20px}.plan li{margin:6px 0}
.inline{display:inline}
/* account */
.follow-grid{columns:2 260px;column-gap:16px}.follow-grid fieldset{break-inside:avoid;border:1px solid var(--line);border-radius:8px;margin:0 0 10px;padding:8px 12px}
.follow-grid legend{font-weight:600;font-size:.88rem}.follow-grid label{display:block;font-size:.88rem}
.note{padding:10px 14px;border-radius:8px;margin:12px 0}.note.ok{background:#eaf6ef;color:var(--ok)}
.login{max-width:420px;margin:60px auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px}
.login .g_id_signin{display:flex;justify-content:center;margin:20px 0}
.prose{max-width:760px}
.tbl{width:100%;border-collapse:collapse;background:#fff;font-size:.88rem}.tbl td{border-bottom:1px solid var(--line);padding:6px 8px;vertical-align:top}
/* footer */
.foot{border-top:1px solid var(--line);margin-top:60px;background:#fff}
.foot-in{display:flex;justify-content:space-between;gap:30px;padding:26px 20px;font-size:.88rem;color:var(--mut)}
.foot-links{display:flex;gap:16px;white-space:nowrap}
.beian{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:0 20px 24px;font-size:.78rem;color:#8a919d}.beian a{color:#7b8491}
@media (max-width:900px){.hero,.grid2,.plans{grid-template-columns:1fr}.hero h1{font-size:2rem}.brand small{display:none}.top-in{gap:10px}.foot-in{flex-direction:column}.page-h{flex-direction:column;align-items:flex-start}.page-side{align-items:flex-start;text-align:left}}
/* daily briefing */
.kicker{font-size:.74rem;font-weight:600;letter-spacing:.1em;color:var(--warm)}
.daily-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:2px solid var(--ink);padding:22px 0 12px;margin-bottom:8px}
.daily-h h1{margin:.15em 0 0}.daynav{display:flex;gap:6px;flex-wrap:wrap}
.lede-box{background:#fff;border-left:4px solid var(--acc);border-radius:0 var(--r) var(--r) 0;padding:14px 20px;margin:18px 0 8px;font-size:1.06rem;line-height:1.7}
.lede-box p{margin:0}.sec-h h2 small{font-size:.85rem;font-weight:400}
.big-n b{font-size:2rem;font-weight:700}.big-n{margin:0 0 6px}
.facts-mini dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-top:10px}.facts-mini dd{margin:4px 0 0}
.daylist{list-style:none;margin:0;padding:0;font-size:.9rem}.daylist li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed var(--line)}
.daylist li span{color:var(--mut)}.daylist li.on a{font-weight:600;color:var(--ink)}
.daily-teaser{display:flex;flex-direction:column;gap:4px;color:var(--ink);border-left:4px solid var(--warm)}
.daily-teaser:hover{text-decoration:none;border-color:var(--acc)}.daily-teaser em{font-style:normal;color:var(--acc);font-size:.88rem}
@media (max-width:900px){.daily-h{flex-direction:column;align-items:flex-start}}
