body.site{--ink:#17222e;--muted:#5c7183;--bg:#eef3f7;--card:#ffffff;--line:#d3dfe9;--brand:#0b6b5f;--accent:#e4572e;--r:10px;margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Noto Sans SC,PingFang SC,sans-serif;font-size:15px;line-height:1.6;-webkit-text-size-adjust:100%}body.site *,body.site :after,body.site :before{box-sizing:border-box}body.site img,body.site svg{max-width:100%}body.site a{color:var(--brand)}body.site h1{font-size:16px;line-height:1.35}body.site h1,body.site h2{margin:0;letter-spacing:-.01em}body.site h2{font-size:15px;line-height:1.4}body.site .top{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:var(--card);border-bottom:1px solid var(--line)}body.site .bar{display:block}body.site .top-in{display:flex;align-items:center;gap:8px;padding:10px 12px}body.site .brand{margin:0;font-size:16px;font-weight:800;letter-spacing:.01em;color:var(--ink);text-decoration:none}body.site button.menu{margin-left:auto;width:40px;height:34px;padding:0;display:grid;place-content:center;grid-gap:4px;gap:4px;border:1px solid var(--line);border-radius:9px;background:var(--card);cursor:pointer}body.site button.menu span{display:block;width:16px;height:2px;border-radius:2px;background:var(--ink)}body.site nav.nav{display:none;border-top:1px solid var(--line);background:var(--card)}body.site.nav-open nav.nav{display:block}body.site nav.nav>ul{list-style:none;margin:0;padding:6px 10px 12px}body.site nav.nav li{position:relative;list-style:none}body.site nav.nav a{display:block;padding:9px 6px;font-size:14px;color:var(--ink);text-decoration:none;border-bottom:1px solid #eef3f7}body.site nav.nav ul.drop{list-style:none}body.site nav.nav li.sub>a:after{content:"+";float:right;color:var(--accent);font-weight:700}body.site nav.nav li.sub.tap>a:after{content:"–"}body.site nav.nav ul.drop{display:none;position:absolute;left:0;right:0;top:100%;z-index:40;margin:0;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 26px rgba(15,34,48,.2)}body.site nav.nav li.sub.tap>ul.drop{display:block}body.site nav.nav ul.drop a{border-bottom:0;border-radius:6px;padding:8px;font-size:13.5px;color:#33475a}body.site .main{padding:12px 12px 28px}body.site .crumbs{margin:2px 0 12px;font-size:12px;color:var(--muted)}body.site .crumbs ol{display:flex;flex-wrap:wrap;margin:0;padding:0}body.site .crumbs li,body.site .crumbs ol{align-items:center;gap:6px;list-style:none}body.site .crumbs li{display:inline-flex}body.site .crumbs li+li:before{content:">";color:var(--accent);font-weight:700}body.site .crumbs a{color:var(--muted);text-decoration:none}body.site .crumbs span{color:var(--ink)}body.site .stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;grid-gap:10px;gap:10px}body.site .stage>*{min-width:0}body.site .block{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;overflow:hidden}body.site .block h2{margin:0 0 8px;color:var(--brand)}body.site .block-fig{margin:0 0 9px;border-radius:8px;overflow:hidden;background:#e6eef4}body.site .block-fig img{display:block;width:100%;height:auto}body.site .block-html{font-size:13.5px;color:#33475a}body.site .block-html p{margin:0 0 .7em}body.site .block-html p:last-child{margin-bottom:0}body.site .b0{grid-column:span 2}body.site .b1,body.site .b2,body.site .b3,body.site .b4,body.site .hot{grid-column:span 1}body.site .hot{padding:12px;border-radius:var(--r);background:var(--brand);color:#eaf6f3}body.site .hot .orn{display:block;margin-bottom:8px}body.site .hot h2{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#a8ded3}body.site .hot ol{list-style:none;counter-reset:hot;margin:8px 0 0;padding:0}body.site .hot li{counter-increment:hot;margin:0 0 7px;font-size:13px;line-height:1.5}body.site .hot li:before{content:counter(hot) ".";margin-right:5px;font-weight:700;color:#8fd6c8}body.site .hot a{color:#f4fbf9;text-decoration:none}body.site .tags{grid-column:span 2;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}body.site .tags h2{color:var(--muted);font-size:11px;letter-spacing:.16em;text-transform:uppercase}body.site .tags ul{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0 0;padding:0;list-style:none}body.site .tags li{list-style:none}body.site .tags a{display:inline-block;padding:5px 10px;font-size:12.5px;color:var(--brand);text-decoration:none;background:#e6f2f0;border:1px solid #cfe6e1;border-radius:999px}body.site .list-head{display:flex;align-items:flex-start;gap:10px;padding:12px;margin-bottom:12px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r)}body.site .list-head>div{flex:1 1 auto;min-width:0}body.site .list-head .orn{flex:0 0 auto}body.site .group-tag{margin:0 0 4px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}body.site .list-desc{margin:6px 0 0;font-size:13px;color:var(--muted)}body.site ul.stack{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}body.site ul.stack li{list-style:none}body.site .row{display:flex;align-items:center;gap:10px;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none}body.site .row .thumb{flex:0 0 auto;width:64px;height:64px;object-fit:cover;border-radius:8px}body.site .row .row-title{font-size:14px;font-weight:600;line-height:1.45}body.site .empty{margin:0;color:var(--muted);font-size:13px}body.site .article{padding:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}body.site .kicker{margin:0 0 6px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}body.site .lede{margin:8px 0 0;font-size:13.5px;color:var(--muted)}body.site .cover{margin:12px 0 0;border-radius:8px;overflow:hidden;background:#e6eef4}body.site .cover img{display:block;width:100%;height:auto}body.site .copy{margin-top:12px;font-family:var(--font-serif),Georgia,"Songti SC",serif;font-size:16px;line-height:1.85;color:#1d2b38;overflow-wrap:break-word}body.site .copy p{margin:0 0 1em}body.site .copy h2,body.site .copy h3{margin:1.3em 0 .6em;font-family:inherit}body.site .copy img{max-width:100%;height:auto;border-radius:8px}body.site .endmark{display:flex;justify-content:center;margin:18px 0 2px}body.site .notice{padding:26px 16px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}body.site .notice h1{margin-bottom:14px}body.site .notice-line{margin:0;font-size:13px}body.site .retry{border:0;padding:9px 20px;font-size:14px;color:#ffffff;background:var(--brand);border-radius:999px;cursor:pointer}body.site .loading{margin:0;padding:24px 12px;text-align:center;font-size:13px;color:var(--muted)}body.site .foot{margin-top:10px;padding:14px 12px 22px;background:var(--card);border-top:1px solid var(--line)}body.site .foot .icp{margin:0;font-size:12px;color:var(--muted)}body.site #friend-links ul{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0 0;padding:0;list-style:none}body.site #friend-links li{list-style:none}body.site #friend-links a{font-size:12px;color:var(--muted);text-decoration:none}@media (min-width:769px){body.site .bar{display:flex;align-items:center;gap:16px;max-width:1040px;margin:0 auto;padding:0 20px}body.site .top-in{padding:14px 0;gap:0}body.site button.menu{display:none}body.site nav.nav{display:block;margin-left:auto;border-top:0;background:transparent}body.site nav.nav>ul{display:flex;align-items:center;gap:2px;padding:0}body.site nav.nav a{border-bottom:0;padding:7px 12px;border-radius:999px;font-size:13.5px}body.site nav.nav li.sub>a:after{content:"";float:none}body.site nav.nav li.sub.tap>ul.drop{display:none}body.site nav.nav li.sub:hover>ul.drop{display:block}body.site nav.nav ul.drop{left:0;right:auto;top:calc(100% + 4px);min-width:180px}body.site nav.nav ul.drop a{padding:7px 10px;font-size:13px}body.site .main{max-width:1040px;margin:0 auto;padding:22px 20px 40px}body.site .stage{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}body.site .b0{grid-column:span 7}body.site .b1{grid-column:span 5}body.site .hot{grid-column:span 4}body.site .b2{grid-column:span 8}body.site .b3,body.site .b4{grid-column:span 6}body.site .tags{grid-column:span 12}body.site ul.stack{grid-template-columns:1fr 1fr}body.site .article{padding:26px 28px}body.site .copy{font-size:16.5px}body.site .foot{padding:18px 20px 26px}body.site .foot-in{max-width:1040px;margin:0 auto}}