:root { --ink:#182024; --muted:#697176; --paper:#f5f6f7; --line:#e4e7e9; --accent:#e74427; --dark:#142026; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.75 "Microsoft YaHei","PingFang SC",Arial,sans-serif; overflow-wrap:anywhere; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--accent); }
button,a,input { -webkit-tap-highlight-color:transparent; }
button { font:inherit; cursor:pointer; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #ef9833; outline-offset:5px; }
img { display:block; max-width:100%; width:100%; object-fit:cover; aspect-ratio:16/10; background:#dce1e3; color:#4f5b62; font-size:14px; }
.wrap { width:min(1240px,calc(100% - 64px)); margin:auto; }
.utility { background:#0c151a; color:#bac3c7; font-size:12px; letter-spacing:.08em; }
.utility .wrap { display:flex; justify-content:space-between; padding:7px 0; }
.masthead { background:var(--dark); color:#fff; }
.brand-row { min-height:106px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:14px; }
.brand img { width:52px; height:52px; background:none; }
.brand h1,.brand .brand-title { font-size:27px; letter-spacing:.025em; line-height:1.3; margin:0; font-weight:800; }
.brand small { display:block; font-size:12px; color:#a9b4b9; margin-top:7px; letter-spacing:.18em; }
.edition { text-align:right; font-size:13px; color:#bac3c7; }
.edition strong { display:block; font-size:22px; color:#fff; font-weight:500; }
.nav-shell { background:white; border-bottom:1px solid var(--line); }
.nav { display:flex; justify-content:space-between; gap:4px; }
.nav a { font-size:14px; padding:17px 10px 14px; border-bottom:3px solid transparent; white-space:nowrap; }
.nav a.active { color:var(--accent); border-color:var(--accent); font-weight:700; }
.nav .icon { margin-right:7px; }
.menu-toggle { display:none; }
.ticker { display:flex; gap:20px; align-items:center; padding:13px 0; font-size:13px; color:var(--muted); border-bottom:1px solid var(--line); }
.ticker strong { color:var(--accent); white-space:nowrap; }
.ticker span:last-child { margin-left:auto; white-space:nowrap; }
main { padding:30px 0 0; }
.hero-grid { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(0,1fr); gap:24px; }
.carousel { position:relative; min-width:0; border-radius:6px; overflow:hidden; background:#19232c; }
.slide { position:relative; height:430px; }
.slide[hidden] { display:none; }
.slide>img { height:100%; aspect-ratio:16/9; }
.slide:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.03) 15%,rgba(7,14,19,.92)); pointer-events:none; }
.slide-copy { position:absolute; z-index:1; bottom:56px; left:32px; right:32px; color:white; }
.tag { display:inline-block; font-size:12px; line-height:1.5; color:var(--accent); background:#fff0eb; padding:4px 9px; border-radius:3px; }
.slide .tag { color:#fff; background:var(--accent); }
.slide h2 { font-size:29px; line-height:1.45; margin:13px 0 9px; }
.slide p { font-size:14px; color:#e3e8ea; max-width:580px; margin:0 0 12px; }
.slide-copy>a { font-size:13px; }
.clamp { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.controls { position:absolute; z-index:2; bottom:18px; left:32px; right:25px; display:flex; gap:8px; align-items:center; }
.controls button { border:1px solid #ffffff70; background:#14202680; color:white; border-radius:3px; width:30px; height:30px; line-height:1; }
.controls .dots { display:flex; gap:7px; margin-right:auto; }
.controls .dot { width:18px; height:4px; padding:0; border:0; background:#ffffff60; }
.controls .dot[aria-current="true"] { background:#ff5737; width:32px; }
.controls .pause { width:auto; padding:0 9px; font-size:12px; }
.brief { background:#fff; border:1px solid var(--line); border-radius:6px; padding:23px 24px; display:flex; flex-direction:column; }
.section-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:20px; }
.section-head h2 { margin:0; font-size:22px; line-height:1.5; }
.section-head h2 .icon { color:var(--accent); margin-right:9px; }
.section-head>a { font-size:13px; color:var(--muted); white-space:nowrap; }
.brief .section-head { padding-bottom:14px; border-bottom:2px solid var(--ink); margin-bottom:0; }
.brief-item { padding:18px 0; border-bottom:1px solid var(--line); }
.brief-item:last-child { border:0; padding-bottom:0; }
.brief-item small { font-size:12px; color:var(--accent); }
.brief-item h3 { font-size:16px; line-height:1.65; margin:5px 0 0; }
.block { margin-top:38px; }
.block-intro { font-size:14px; color:var(--muted); margin:-13px 0 19px; }
.cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.card { min-width:0; border:1px solid var(--line); border-radius:5px; background:white; overflow:hidden; display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s; }
.card:hover { transform:translateY(-3px); box-shadow:0 9px 24px #1820240c; }
.card .picture { overflow:hidden; }
.card img { transition:transform .4s; }
.card:hover img { transform:scale(1.035); }
.card-body { padding:19px 21px; display:flex; flex-direction:column; flex:1; }
.card h3 { font-size:18px; line-height:1.55; margin:9px 0; }
.card p { font-size:14px; color:var(--muted); margin:0 0 16px; }
.meta { display:flex; gap:12px; font-size:12px; color:var(--muted); margin-top:auto; }
.meta span:last-child { margin-left:auto; }
.two-col { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(0,1fr); gap:24px; }
.two-col .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ranking { background:#fff; border:1px solid var(--line); padding:22px 24px; border-top:3px solid var(--accent); }
.ranking ol { list-style:none; margin:0; padding:0; }
.ranking li { display:flex; gap:16px; padding:15px 0; border-bottom:1px solid var(--line); }
.ranking li:last-child { border:0; }
.rank-num { font-size:27px; font-style:italic; font-weight:800; color:var(--accent); line-height:1.3; }
.ranking h3 { font-size:15px; line-height:1.6; margin:0; }
.ranking small { font-size:12px; color:var(--muted); }
.band { background:var(--dark); color:white; padding:28px; border-radius:5px; }
.band .section-head>a,.band .block-intro { color:#b8c3c9; }
.band .card { background:#213139; border-color:#37454b; }
.band .card p,.band .meta { color:#bdc8ce; }
.band .tag { background:#39464b; color:#ffa18b; }
.list-cards .card { flex-direction:row; }
.list-cards .picture { width:35%; flex-shrink:0; }
.list-cards img { height:100%; }
.list-cards { grid-template-columns:1fr; }
.list-cards .card h3 { margin:4px 0 9px; }
.list-cards .card-body { padding:17px 21px; }
.split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.split .cards { grid-template-columns:1fr; }
.split .list-cards p { display:none; }
.split .list-cards .meta { margin-top:9px; }
.tracking { background:white; border:1px solid var(--line); padding:28px; }
.track-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.track-grid article { border-left:2px solid var(--accent); padding-left:18px; }
.track-grid h3 { font-size:17px; line-height:1.6; margin:9px 0; }
.track-grid p { font-size:14px; color:var(--muted); }
.about { display:grid; grid-template-columns:1fr 2fr; gap:45px; border-top:2px solid var(--ink); padding:28px 0; }
.about h2 { font-size:25px; margin:0; }
.eyebrow { font-size:12px; letter-spacing:.16em; color:var(--accent); }
.about p { margin:0 0 12px; color:#596269; font-size:15px; }
.subscribe { margin-top:24px; background:#e74427; color:white; padding:32px 38px; display:flex; gap:30px; align-items:center; border-radius:5px; }
.subscribe img { width:84px; height:84px; background:none; flex-shrink:0; }
.subscribe h2 { font-size:23px; margin:0 0 6px; }
.subscribe p { font-size:14px; margin:0; color:#ffe6df; }
.subscribe .button { margin-left:auto; flex-shrink:0; background:#fff; color:#b42e16; }
.button { display:inline-block; padding:10px 19px; background:var(--ink); color:white; border:0; border-radius:3px; font-size:14px; text-align:center; }
.button:hover { background:#343f45; color:white; }
.subscribe-help { margin:12px 0 0; font-size:14px; color:var(--muted); }
.subscribe-help summary { cursor:pointer; }
footer { background:#101b21; color:#b1bdc3; margin-top:38px; padding:38px 0 18px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:44px; }
footer h2 { font-size:20px; color:white; margin:0 0 12px; }
footer h3 { font-size:14px; color:white; margin:0 0 12px; }
footer p,footer a { font-size:13px; }
.footer-links { display:flex; flex-wrap:wrap; gap:7px 18px; }
.copyright { border-top:1px solid #334047; padding-top:18px; margin-top:27px; display:flex; justify-content:space-between; font-size:12px; gap:20px; }
.breadcrumb { display:flex; flex-wrap:wrap; gap:10px; color:var(--muted); font-size:13px; margin-bottom:25px; }
.category-title { border-bottom:2px solid var(--ink); padding:0 0 25px; margin-bottom:28px; }
.category-title h1 { font-size:36px; margin:4px 0; }
.category-title p { color:var(--muted); margin:6px 0 0; }
.feature-card { display:grid; grid-template-columns:1fr 1fr; background:#fff; border:1px solid var(--line); border-radius:5px; overflow:hidden; }
.feature-card .card-body { justify-content:center; padding:32px; }
.feature-card img { height:100%; min-height:280px; }
.feature-card h2 { font-size:27px; line-height:1.5; }
.more { text-align:center; border:1px solid var(--line); padding:24px; background:#fff; margin-top:26px; }
.more p { font-size:14px; color:var(--muted); }
.article-layout { display:grid; grid-template-columns:minmax(0,850px) minmax(0,1fr); gap:30px; align-items:start; }
.article { background:white; border:1px solid var(--line); padding:40px; }
.article h1 { font-size:34px; line-height:1.5; margin:14px 0 20px; }
.article .meta { justify-content:flex-start; flex-wrap:wrap; margin-bottom:20px; }
.reading-note { border-left:3px solid var(--accent); background:#fff5f0; padding:13px 17px; font-size:13px; color:#756059; }
.article .lead { font-size:18px; line-height:1.95; color:#47535a; margin:25px 0; }
figure { margin:26px 0; }
figcaption { margin-top:8px; font-size:12px; color:var(--muted); }
.article h2 { font-size:23px; margin-top:32px; }
.article section p { line-height:2; }
.end-note { border-top:1px solid var(--line); padding-top:19px; font-size:14px; color:var(--muted); }
.prev-next { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:25px 0; }
.prev-next a,.prev-next span { font-size:14px; }
.prev-next small { display:block; color:var(--muted); margin-bottom:8px; }
.aside-note { background:#e9eef0; padding:24px; margin-top:24px; }
.aside-note h2 { font-size:18px; margin-top:0; }
.aside-note p { font-size:14px; color:var(--muted); }
.skip { position:absolute; left:16px; top:-100px; z-index:10; background:white; padding:10px; }
.skip:focus { top:12px; }
.failed-image { background:linear-gradient(120deg,#c7d2d8,#e6e9eb); }
