/* News-first layout: ERP's reading hierarchy, site-local branding. */
.portal-hot-lead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.8rem 0}
.portal-hot-lead>a{font-size:1.15rem;font-weight:650;color:var(--bs-emphasis-color);text-decoration:none;overflow-wrap:anywhere}
.portal-hot-lead>span,.portal-hot-row>span{font-size:.75rem;color:var(--bs-secondary-color);white-space:nowrap}
.portal-hot-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem}
.portal-hot-board .portal-hot-columns ol{display:block;counter-reset:focus 1}
.portal-hot-board .portal-hot-columns ol+ol{counter-reset:focus 6}
.portal-hot-board .portal-hot-columns li:first-child{border-top:1px solid var(--bs-border-color)}
.portal-hot-board .portal-hot-columns li:first-child .portal-focus-copy>a{font-size:.9rem}
.portal-hot-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--bs-border-color)}
.portal-hot-row h2{font-size:1.05rem;line-height:1.7;margin:0;overflow-wrap:anywhere}
.portal-hot-row a{color:var(--bs-emphasis-color);text-decoration:none}
@media(max-width:767px){.portal-hot-columns{grid-template-columns:1fr;gap:0}.portal-hot-lead{display:block}.portal-hot-lead>span{display:block;margin-top:.4rem}}
:root{--portal-accent:#0a58ca;--portal-tint:rgba(10,88,202,.045)}
html[lang="zh-CN"]{--portal-accent:#16845a;--portal-tint:rgba(22,132,90,.045)}
[data-bs-theme="dark"]{--portal-accent:#78b9ff;--portal-tint:rgba(120,185,255,.05)}
html[lang="zh-CN"][data-bs-theme="dark"]{--portal-accent:#7bdcb0;--portal-tint:rgba(123,220,176,.05)}
.portal-home,.portal-page{max-width:1440px;padding:1.7rem 2rem 3.5rem;color:var(--bs-body-color)}
body:has(.portal-home,.portal-page) .bd-navbar>nav{max-width:1440px;padding-inline:2rem}
.portal-topics{border-bottom:1px solid var(--bs-border-color);background:var(--bs-body-bg)}
.portal-topic-inner{max-width:1440px;display:flex;align-items:center;gap:1.5rem;padding:.65rem 2rem;overflow-x:auto;scrollbar-width:thin}
.portal-topic-inner a{flex-shrink:0;font-size:.82rem;text-decoration:none;color:var(--bs-secondary-color)}
.portal-topic-inner a:hover{color:var(--portal-accent)}
.portal-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:0 0 1.35rem}
.portal-heading h1{font-size:clamp(1.45rem,2.2vw,2rem);font-weight:650;line-height:1.45;margin:0;color:var(--bs-emphasis-color);overflow-wrap:anywhere}
.portal-kicker{font-size:.65rem;letter-spacing:.13em;color:var(--bs-secondary-color);margin:0 0 .45rem;text-transform:uppercase}
.portal-search{display:flex;align-items:center;flex:0 1 320px;border:1px solid var(--bs-border-color);border-radius:.4rem;background:var(--bs-body-bg);overflow:hidden}
.portal-search input{border:0;min-width:0;width:100%;padding:.65rem .85rem;background:transparent;color:var(--bs-body-color);font-size:.82rem;outline-offset:-3px}
.portal-search button{border:0;background:transparent;color:var(--bs-secondary-color);padding:.65rem .9rem}
.portal-viewbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--bs-border-color);margin-bottom:.8rem}
.portal-tabs{display:flex;gap:1.5rem;min-width:0;flex-wrap:wrap}
.portal-tabs a{display:block;color:var(--bs-secondary-color);text-decoration:none;padding:.6rem 0 .8rem;font-size:.9rem;border-bottom:2px solid transparent;margin-bottom:-1px}
.portal-tabs a[aria-current="page"]{color:var(--portal-accent);border-color:var(--portal-accent);font-weight:650}
.portal-sections{display:flex;flex-wrap:wrap;gap:.55rem 1.4rem;padding:.3rem 0 .9rem;font-size:.85rem}
.portal-sections a{color:var(--bs-secondary-color);text-decoration:none}

.portal-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 .7rem}
.portal-section-head h2{font-size:1rem;font-weight:650;color:var(--bs-emphasis-color);margin:0;line-height:1.5}
.portal-section-head>a{font-size:.78rem;text-decoration:none;color:var(--bs-secondary-color);white-space:nowrap}
.portal-stream{border-top:1px solid var(--bs-border-color)}
.portal-card{display:grid;grid-template-columns:4.2rem minmax(0,1fr);gap:1rem;border-bottom:1px solid var(--bs-border-color);padding:1.35rem 0;min-width:0;scroll-margin-top:5rem}
.portal-time{font-variant-numeric:tabular-nums;color:var(--bs-secondary-color);padding-top:.2rem}
.portal-time span{display:block;font-size:.93rem;font-weight:600}
.portal-time small{display:block;font-size:.64rem;line-height:1.6;margin-top:.3rem;white-space:nowrap}
.portal-card-body{min-width:0;border-left:2px solid var(--portal-tint);padding-left:1.15rem}
.portal-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.74rem;color:var(--bs-secondary-color);line-height:1.6}
.portal-section{color:var(--portal-accent);font-size:.7rem;background:var(--portal-tint);padding:.08rem .4rem;border-radius:.2rem}
.portal-card h2{font-size:1.15rem;font-weight:650;line-height:1.6;margin:.45rem 0 .55rem;overflow-wrap:anywhere}
.portal-card h2 a,.portal-reading-item h3 a{color:var(--bs-emphasis-color);text-decoration:none}
.portal-card h2 a:hover,.portal-reading-item h3 a:hover,.portal-focus-list a:hover{color:var(--portal-accent);text-decoration:underline;text-underline-offset:.2em}
.portal-summary{font-size:.93rem;line-height:1.85;margin:0 0 .8rem;overflow-wrap:anywhere;color:var(--bs-body-color)}
.portal-card-footer{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem;flex-wrap:wrap}
.portal-actions{display:flex;flex-wrap:wrap;gap:1rem;font-size:.73rem}
.portal-actions a{color:var(--bs-secondary-color);text-decoration:none}
.portal-actions a:first-child{color:var(--portal-accent)}
.portal-context{font-size:.7rem;color:var(--bs-secondary-color);max-width:100%}
.portal-context summary{cursor:pointer}
.portal-context p{margin:.6rem 0;line-height:1.8;max-width:58ch;overflow-wrap:anywhere}
.portal-more{display:flex;justify-content:center;gap:.6rem;padding:1rem;border-bottom:1px solid var(--bs-border-color);font-size:.82rem;text-decoration:none;color:var(--portal-accent)}
.portal-side-section{margin-bottom:2rem}
.portal-live-dot{display:inline-block;width:.4rem;height:.4rem;background:var(--portal-accent);border-radius:50%;margin-right:.5rem;vertical-align:middle}
.portal-focus-list{list-style:none;counter-reset:focus;padding:0;margin:0}
.portal-focus-list li{position:relative;counter-increment:focus;padding:.85rem 0 .85rem 1.6rem;border-bottom:1px solid var(--bs-border-color)}
.portal-focus-list li::before{content:counter(focus,decimal-leading-zero);position:absolute;left:0;top:1rem;color:var(--portal-accent);font-size:.65rem;font-variant-numeric:tabular-nums}
.portal-focus-list a{font-size:.88rem;font-weight:550;line-height:1.75;text-decoration:none;color:var(--bs-emphasis-color);overflow-wrap:anywhere}
.portal-focus-list .portal-meta{font-size:.65rem;margin:.4rem 0 0}
.portal-side-more{display:inline-block;margin-top:.85rem;color:var(--bs-secondary-color);font-size:.75rem;text-decoration:none}
.portal-directory{display:flex;flex-direction:column}
.portal-directory a{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--bs-border-color);padding:.8rem 0;font-size:.82rem;color:var(--bs-body-color);text-decoration:none}
.portal-directory a span{color:var(--bs-secondary-color)}
.portal-empty{padding:1.5rem 0;color:var(--bs-secondary-color);font-size:.9rem;line-height:1.8}
.portal-reading{margin-top:2.5rem;padding-top:1rem;border-top:2px solid var(--bs-border-color)}
.portal-featured-list,.portal-reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.2rem}
.portal-reading-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--bs-border-color);min-width:0}
.portal-reading-item>div{min-width:0}
.portal-reading-item h3{font-size:.95rem;line-height:1.65;margin:0 0 .4rem;font-weight:600;overflow-wrap:anywhere}
.portal-reading-item p{font-size:.8rem;line-height:1.8;margin:0;color:var(--bs-secondary-color);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.portal-thumb{flex:0 0 100px}
.portal-thumb img{width:100px;height:75px;object-fit:cover;border-radius:.3rem}
.portal-question-mark{flex:0 0 1.7rem;height:1.7rem;border-radius:.25rem;background:var(--portal-tint);color:var(--portal-accent);text-align:center;font-size:.85rem;line-height:1.7rem}
.portal-topic-cloud{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;padding:1rem 0}
.portal-topic-cloud a{font-size:.85rem;text-decoration:none;color:var(--bs-secondary-color)}
.portal-breadcrumb{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.75rem;color:var(--bs-secondary-color);margin-bottom:1.5rem}
.portal-breadcrumb a{text-decoration:none;color:inherit}
.portal-page{max-width:1100px}
.portal-filter{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;font-size:.75rem;color:var(--bs-secondary-color);margin:1rem 0}
.portal-filter input{width:11rem;max-width:100%;border:1px solid var(--bs-border-color);padding:.4rem .6rem;border-radius:.3rem;background:var(--bs-body-bg);color:var(--bs-body-color)}
.portal-filter button{border:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg);color:var(--bs-body-color);border-radius:.3rem;padding:.4rem .8rem}
.portal-pager{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1.7rem 0;font-size:.85rem}
.portal-pager a{text-decoration:none}
.portal-pager>span{color:var(--bs-secondary-color)}
.portal-detail{max-width:960px}
.portal-report{max-width:780px;margin:0 auto}
.portal-report h1{font-size:clamp(1.65rem,3vw,2.4rem);font-weight:650;line-height:1.5;margin:.7rem 0 1rem;overflow-wrap:anywhere}
.portal-report-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;font-size:.78rem;line-height:1.7;color:var(--bs-secondary-color)}
.portal-deck{font-size:1.05rem;line-height:1.95;color:var(--bs-secondary-color);padding:1.2rem 0;margin:1.2rem 0;border-block:1px solid var(--bs-border-color);overflow-wrap:anywhere}
.portal-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.05rem;line-height:2.05;margin:1.7rem 0 2rem}
.portal-event-link{font-size:.8rem;background:var(--portal-tint);padding:.8rem 1rem;margin:1.2rem 0}
.portal-event-link a{text-decoration:none}
.portal-report-source{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--bs-border-color);font-size:.8rem}
.portal-report-source a{text-decoration:none}

@media(max-width:991px){.portal-heading{align-items:start}.portal-search{flex-basis:270px}.portal-home,.portal-page{padding-inline:1.25rem}.portal-topic-inner,body:has(.portal-home,.portal-page) .bd-navbar>nav{padding-inline:1.25rem}}
@media(max-width:767px){.portal-home,.portal-page{padding:1.1rem 1rem 2rem}.portal-heading{display:block;margin-bottom:1rem}.portal-heading h1{font-size:1.5rem}.portal-search{margin-top:1rem;width:100%;max-width:none}.portal-feed,.portal-topic-inner,body:has(.portal-home,.portal-page) .bd-navbar>nav{padding-inline:1rem}.portal-topic-inner{gap:1.2rem}.portal-viewbar{gap:.5rem}.portal-tabs{gap:1.1rem}.portal-tabs a{font-size:.82rem}.portal-viewbar>.portal-meta{font-size:.65rem}.portal-card{grid-template-columns:3.4rem minmax(0,1fr);gap:.55rem;padding:1.1rem 0}.portal-card-body{padding-left:.7rem}.portal-time span{font-size:.8rem}.portal-time small{font-size:.57rem}.portal-card h2{font-size:1.03rem;line-height:1.7}.portal-summary{font-size:.88rem;line-height:1.9}.portal-featured-list,.portal-reading-grid{grid-template-columns:1fr}.portal-reading{margin-top:1.8rem}.portal-report h1{font-size:1.6rem}.portal-deck{font-size:.98rem}.portal-body{font-size:1rem}.portal-kicker{font-size:.6rem}.portal-focus-list a{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.portal-home *,.portal-page *{scroll-behavior:auto}}

/* ERP homepage: full-width focus board, followed by a two-column timeline. */
.portal-home .portal-heading{margin-bottom:1rem}
.portal-home .portal-heading h1{font-size:1.65rem;font-weight:700;line-height:1.45}
.portal-home-intro{font-size:.85rem;color:var(--bs-secondary-color);margin:.25rem 0 0;line-height:1.7}
.portal-home-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:.8rem}
.portal-home-navigation .portal-tabs{gap:1.4rem}
.portal-home-navigation .portal-tabs a{border-radius:0;font-weight:600}
.portal-home-sections{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem 1.3rem;border-left:1px solid var(--bs-border-color);padding-left:1.5rem;font-size:.82rem}
.portal-home-sections>span{color:var(--bs-secondary-color);font-size:.73rem}
.portal-home-sections a{color:var(--bs-secondary-color);text-decoration:none}
.portal-focus-board{margin:.8rem 0 1rem;padding:.85rem 1.1rem .3rem;border:1px solid var(--bs-border-color);border-radius:.65rem;background:linear-gradient(110deg,var(--portal-tint),var(--bs-tertiary-bg))}
.portal-focus-board .portal-section-head{margin-bottom:.4rem}
.portal-focus-board ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.8rem;list-style:none;padding:0;margin:.5rem 0;counter-reset:focus}
.portal-focus-board li{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-top:1px solid var(--bs-border-color);counter-increment:focus;min-width:0}
.portal-focus-board li:first-child{grid-column:1/-1;border-top:0}
.portal-focus-board li::before{content:counter(focus);font-size:.85rem;font-weight:700;color:var(--bs-secondary-color);min-width:1.1rem}
.portal-focus-board li:nth-child(-n+3)::before{color:var(--bs-warning-text-emphasis)}
.portal-focus-copy{flex:1;min-width:0}
.portal-focus-copy>a{color:var(--bs-emphasis-color);font-weight:600;text-decoration:none;overflow-wrap:anywhere;font-size:.9rem;line-height:1.6}
.portal-focus-board li:first-child .portal-focus-copy>a{font-size:1rem}
.portal-focus-copy>span{display:block;font-size:.68rem;color:var(--bs-secondary-color);margin-top:.15rem}
.portal-focus-event{font-size:.7rem;white-space:nowrap;text-decoration:none;color:var(--bs-secondary-color)}
.portal-home-feed{padding-top:1.65rem}
.portal-home-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}
.portal-home-preview{display:grid;grid-template-columns:4.6rem minmax(0,1fr);min-width:0}
.portal-home-time{padding:.8rem .75rem .8rem 0;color:var(--bs-secondary-color);font-variant-numeric:tabular-nums}
.portal-home-time>span{display:block;font-size:.85rem;font-weight:600}
.portal-home-time>small{display:block;margin-top:.25rem;font-size:.58rem;white-space:nowrap}
.portal-home-copy{position:relative;min-width:0;padding:.8rem 0 .8rem 1rem;border-left:1px solid var(--bs-border-color)}
.portal-home-copy::before{content:"";position:absolute;left:-.22rem;top:1.18rem;width:.4rem;height:.4rem;border-radius:50%;background:var(--bs-secondary-color);box-shadow:0 0 0 3px var(--bs-body-bg)}
.portal-home-copy h3{font-size:.95rem;font-weight:600;line-height:1.5;margin:0 0 .35rem}
.portal-home-copy h3 a{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--bs-emphasis-color);text-decoration:none}
.portal-home-copy h3 a:hover,.portal-focus-copy>a:hover{color:var(--portal-accent)}
.portal-home-copy>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;color:var(--bs-secondary-color);font-size:.82rem;line-height:1.65;margin:0 0 .4rem}
.portal-home-meta{display:flex;flex-wrap:wrap;gap:.25rem .65rem;font-size:.68rem;color:var(--bs-secondary-color)}
.portal-home-meta a{color:inherit;text-decoration:none}
@media(max-width:767px){.portal-focus-board{padding:.75rem}.portal-focus-board ol{grid-template-columns:minmax(0,1fr);gap:0}.portal-home-previews{grid-template-columns:minmax(0,1fr)}.portal-home-sections{border-left:0;padding:.2rem 0 .5rem}.portal-home-feed{padding-top:1rem}.portal-home-time{padding-right:.65rem}.portal-home .portal-heading h1{font-size:1.5rem}.portal-focus-event{white-space:normal;max-width:4.5rem}.portal-home-preview{grid-template-columns:4.3rem minmax(0,1fr)}}
