:root{--canvas:#e6e3e2;--shell:#fff;--ink:#17171f;--ink2:#6b6b75;--ink3:#767680;--line:#ece9e7;--soft:#f6f5f3;--peach:#f5e6d9;--peach2:#fdf1e8;--accent:#e8935a;--accent-ink:#b4561f;--dark:#17171f;--ad:#ff7a1a;--ad2:#ff5a00;--ad-soft:#fff3e6;--ad-line:#ffd9b3;--glow:rgba(56,189,248,.38);--free:#15803d;--free-bg:#e8f8ee;--paid:#9a3412;--paid-bg:#fff1e6;--mix:#1d4ed8;--mix-bg:#e8f0ff;--r:16px;--font:"Plus Jakarta Sans","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,sans-serif;--mono:ui-monospace,"SF Mono","Cascadia Code",Consolas,monospace}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--canvas);color:var(--ink);font:13px/1.6 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4,p,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
.ic{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.15em;flex:none}
.canvas{min-height:100%;padding:36px 36px 0;display:flex;flex-direction:column;align-items:center}
.shell{position:relative;margin-top:auto;width:100%;max-width:1360px;height:calc(100vh - 132px);min-height:640px;max-height:900px;border-radius:34px;box-shadow:0 30px 70px -30px rgba(40,30,30,.35)}
.shell-in{display:flex;width:100%;height:100%;background:var(--shell);border-radius:34px;overflow:hidden}
.side{width:224px;flex:none;display:flex;flex-direction:column;padding:26px 18px 18px;border-right:1px solid var(--line);overflow-y:auto}
.brand{display:flex;align-items:center;gap:10px;padding:0 6px;margin-bottom:30px;font-size:19px;font-weight:700;letter-spacing:.3px}
.brand .lg{width:32px;height:32px}
.nav a{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:5px;border-radius:10px;color:var(--ink2);font-size:13.5px}
.nav a .ic{font-size:17px}
.nav a:hover{background:var(--soft);color:var(--ink)}
.nav a.on{background:var(--dark);color:#fff}
.nav .sub{display:block;font-size:11px;opacity:.6;margin-left:auto;font-family:var(--mono)}
.side .grow{flex:1}
.nav.sm a{padding:8px 14px;margin-bottom:2px}
.promo{margin-top:14px;padding:18px 16px;border-radius:20px;text-align:center;background:linear-gradient(180deg,#eef2f5 0,#f7f7f6 100%)}
.promo b{display:block;font-size:14px;line-height:1.35}
.promo small{display:block;margin:6px 0 12px;color:var(--ink2);font-size:12px}
.dbtn{display:inline-block;padding:9px 20px;border-radius:999px;background:var(--dark);color:#fff;font-weight:600;font-size:13px}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:16px;padding:16px 26px;border-bottom:1px solid var(--line)}
.ptitle{flex:1;min-width:0}
.ph1{font-size:17px;font-weight:700;line-height:1.3}
.psub{margin-top:2px;color:var(--ink2);font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tools{display:flex;align-items:center;gap:10px;flex:none}
.sbox{display:flex;align-items:center;gap:8px;width:250px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink3)}
.sbox input{border:0;outline:0;background:none;flex:1;min-width:0;color:var(--ink)}
.obtn{padding:9px 16px;border-radius:999px;border:1px solid var(--ink);background:var(--dark);color:#fff;font-weight:600;font-size:12.5px;white-space:nowrap}
.body{flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr)}.body.list{grid-template-columns:minmax(0,1fr) 430px}.body.read{grid-template-columns:minmax(0,1fr) 340px}
.midcol{overflow-y:auto;min-width:0;min-height:0;scrollbar-width:thin}
.rightcol{overflow-y:auto;min-width:0;min-height:0;scrollbar-width:thin;background:#fcfbfa}
.body.list .midcol{flex:1;border-right:1px solid var(--line);padding:16px 22px 28px}
.body.list .rightcol{width:430px;flex:none;padding:20px 24px 32px}
.body.read .midcol{flex:1;padding:24px 32px 40px}
.body.read .rightcol{width:340px;flex:none;border-left:1px solid var(--line);padding:18px 18px 32px}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pill{padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12.5px;color:var(--ink2)}
.pill:hover{border-color:#d9d4d0;color:var(--ink)}
.pill.on{background:var(--dark);border-color:var(--dark);color:#fff}
.countrow{display:flex;align-items:center;gap:8px;margin:2px 4px 12px;color:var(--ink2);font-size:12.5px}
.countrow b{color:var(--ink)}
.grow{flex:1}
.card{position:relative;display:flex;gap:12px;margin-bottom:10px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.card:hover{border-color:#ddd5cf}
.card.on{border-color:var(--accent);background:var(--peach2)}
.card .stretch{position:absolute;inset:0;border-radius:16px}
.thumb{width:52px;height:52px;flex:none;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;color:var(--ink)}
.cbody{flex:1;min-width:0}
.ctop{display:flex;align-items:center;gap:8px;color:var(--ink3);font-size:11.5px}
.ctop .t{margin-left:auto;font-family:var(--mono);font-size:11px}
.ctitle{margin:3px 0 4px;font-size:14px;font-weight:700;line-height:1.4}
.cdesc{color:var(--ink2);font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ctags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tg{display:inline-block;padding:1px 8px;border-radius:6px;background:var(--soft);color:var(--ink2);font-size:11px}
.tg.free{background:var(--free-bg);color:var(--free)}
.tg.paid{background:var(--paid-bg);color:var(--paid)}
.tg.mix{background:var(--mix-bg);color:var(--mix)}
.tg.hot{background:var(--peach);color:var(--accent-ink)}
.card.ad{background:linear-gradient(180deg,#fffaf4,#fff);border-color:var(--ad-line)}
.card.ad .thumb{background:#fff;border:1px solid var(--ad-line);color:var(--ad2)}
.adtag{display:inline-block;padding:1px 8px;border-radius:6px;background:#9ca3af;color:#fff;font-size:11px;font-weight:600}
.panel{max-width:640px;margin:0 auto}
.panel .kicker{display:flex;align-items:center;gap:8px;color:var(--ink3);font-size:12px}
.panel h2{margin:8px 0 12px;font-size:21px;line-height:1.35}
.panel .lead{font-size:14px;color:#2b2b34;line-height:1.85}
.panel .lead p{margin-bottom:12px}
.panel .acts{display:flex;gap:10px;margin:18px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 22px;border-radius:999px;background:var(--dark);color:#fff;font-weight:700;font-size:13px;border:1px solid var(--dark)}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.sect{margin-top:22px}
.sect h3{font-size:14px;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.sect h3 .ic{color:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12.5px}
.chip:hover{border-color:var(--accent)}
.chip .thumb{width:24px;height:24px;border-radius:8px;font-size:12px}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;color:var(--ink3);font-size:12px}
.crumbs a:hover{color:var(--ink)}
.art h1{font-size:26px;line-height:1.35;margin:4px 0 12px}
.art .meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--ink3);font-size:12px;margin-bottom:16px}
.tldr{margin:0 0 20px;padding:14px 16px;border-radius:14px;background:var(--peach2);border:1px solid var(--peach);font-size:13.5px;line-height:1.8}
.tldr b{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:6px;background:var(--accent);color:#fff;font-size:11px;font-family:var(--mono)}
.prose{font-size:15px;line-height:1.95;color:#25252e}
.prose p{margin-bottom:16px}
.prose h2{font-size:19px;margin:26px 0 10px}
.prose code{font-family:var(--mono);background:var(--soft);padding:1px 6px;border-radius:6px;font-size:.9em}
.prose a.ent{color:var(--accent-ink);font-weight:600;border-bottom:1.5px dotted var(--accent)}
.prose a.ent:hover{background:var(--peach2);border-bottom-style:solid}
.lead a.ent{color:var(--accent-ink);font-weight:600;border-bottom:1.5px dotted var(--accent)}
.related{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.rcard{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.rcard:hover{border-color:var(--accent)}
.rcard b{display:block;font-size:13px;line-height:1.45;margin-bottom:4px}
.rcard small{color:var(--ink3);font-size:11.5px}
.pn{display:flex;gap:10px;margin-top:26px}
.pn a{flex:1;padding:12px 14px;border:1px solid var(--line);border-radius:14px;font-size:12.5px}
.pn a small{display:block;color:var(--ink3);margin-bottom:2px}
.box{margin-bottom:14px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff}
.box h4{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #eef4f3}
.box h4 .ic{color:var(--accent)}
.mrow{display:flex;align-items:center;gap:12px;padding:9px 0}
.mrow + .mrow{border-top:1px solid #f3f1ef}
.mrow .thumb{width:38px;height:38px;border-radius:11px;font-size:16px}
.mrow .mn{flex:1;min-width:0}
.mrow .mn b{display:block;font-size:13.5px}
.mrow .mn small{display:block;color:var(--ink3);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adc{position:relative;margin-bottom:14px;padding:16px 16px 20px;border:1px solid var(--line);border-top:3px solid var(--ad);border-radius:22px;background:#fff;box-shadow:0 14px 30px -18px rgba(40,30,30,.35)}
.adc .gift{display:block;margin:0 0 14px;padding:9px 12px;border:1px solid var(--ad-line);border-radius:12px;background:var(--ad-soft);color:#c2410c;font-weight:700;font-size:13px;text-align:center}
.adc .who{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.adc .who .thumb{width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid var(--line);color:var(--ad2);font-size:16px}
.adc .who b{flex:1;font-size:14px}
.adc h5{margin:0 0 6px;font-size:17px;line-height:1.4}
.adc p{color:var(--ink2);font-size:12.5px;line-height:1.6}
.adc .cta{display:block;margin:16px auto 0;width:max-content;padding:13px 34px;border-radius:14px;background:linear-gradient(180deg,#ff8a2d,#ff6a00);color:#fff;font-weight:800;font-size:15px;box-shadow:0 10px 24px -6px var(--glow),0 6px 14px -6px rgba(255,106,0,.55)}
.adi{display:flex;align-items:center;gap:14px;margin:24px 0;padding:14px 16px;border:1px solid var(--ad-line);border-radius:18px;background:linear-gradient(90deg,#fff7ee,#fff)}
.adi .thumb{background:#fff;border:1px solid var(--ad-line);color:var(--ad2)}
.adi .mn{flex:1;min-width:0}
.adi .mn small{color:#c2410c;font-weight:700;font-size:11.5px}
.adi .mn b{display:block;font-size:14.5px;margin:1px 0 2px}
.adi .mn .d{display:block;color:var(--ink2);font-size:12.5px}
.adi .cta{flex:none;padding:10px 20px;border-radius:12px;background:linear-gradient(180deg,#ff8a2d,#ff6a00);color:#fff;font-weight:800;font-size:13px;box-shadow:0 8px 18px -6px var(--glow)}
.hero{margin-bottom:16px;padding:20px 22px;border-radius:20px;background:linear-gradient(135deg,var(--peach2),var(--peach));position:relative;overflow:hidden}
.hero h2{font-size:18px;line-height:1.4}
.hero p{margin-top:6px;color:var(--ink2);font-size:12.5px;max-width:30em}
.hero .prompt{margin-top:12px;display:inline-block;padding:6px 12px;border-radius:10px;background:var(--dark);color:#fff;font-family:var(--mono);font-size:12px}
.hero .prompt i{display:inline-block;width:7px;height:13px;margin-left:3px;background:var(--accent);vertical-align:-2px;animation:bl 1s steps(2) infinite}
@keyframes bl{50%{opacity:0}}
.bgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.bcard{display:block;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.bcard:hover{border-color:var(--accent)}
.bcard b{display:block;font-size:14.5px}
.bcard span{display:block;margin-top:4px;color:var(--ink2);font-size:12.5px}
.kv{display:grid;grid-template-columns:96px 1fr;gap:10px 14px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;font-size:13px}
.kv dt{color:var(--ink3)}
.kv dd{margin:0;font-weight:600}
.head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.head .thumb{width:60px;height:60px;border-radius:18px;font-size:26px}
.head h1{font-size:24px;line-height:1.3}
.head small{color:var(--ink3);font-size:12.5px}
.card[hidden],#panel[hidden],#side-default[hidden],.cal-grid[hidden]{display:none}
.frow.m-only{display:none}
.cal{padding:16px}
.cal-ys{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.cal-y{padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;color:var(--ink2)}
.cal-y.on{background:var(--dark);border-color:var(--dark);color:#fff}
.cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.cal-m{display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 0;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:13px}
.cal-m b{font-weight:700}
.cal-m small{color:var(--ink3);font-size:11px}
button.cal-m:hover{border-color:var(--accent)}
.cal-m.on{background:var(--peach2);border-color:var(--accent)}
.cal-m.off{background:var(--soft);color:var(--ink3);border-color:transparent}
.cal-m.off b{font-weight:400}
.cal>.lnk{display:inline-block}
.fbox{margin-bottom:6px}
.frow{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.frow>b{flex:none;width:34px;padding-top:7px;color:var(--ink3);font-size:12px;font-weight:600}
.frow .pills{margin:0;gap:8px 6px;flex:1;min-width:0;flex-wrap:wrap}
.frow .pill{flex:none;padding:4px 11px;font-size:12px;white-space:nowrap}
a.pill,span.pill{display:inline-block}
.pill.off{opacity:.4;pointer-events:none}
.hero.sm{margin-bottom:12px;padding:14px 18px}
.hero.sm h2{font-size:15px}
.hero.sm p{margin-top:3px;font-size:12px}
.lnk{border:0;background:none;color:var(--accent-ink);font-size:12.5px;padding:0}
.quote{margin:0 0 16px;padding:12px 16px;border-left:3px solid var(--accent);border-radius:0 12px 12px 0;background:var(--peach2);font-size:13.5px;line-height:1.8;color:#2b2b34}
.quote small{display:block;margin-bottom:2px;color:var(--accent-ink);font-weight:700;font-size:11px}
.panel .kicker a:hover{color:var(--ink)}
.eh1{margin:8px 0 12px;font-size:24px;line-height:1.35}
.panel .kv{margin:16px 0}
.panel .kv a{border-bottom:1px dotted var(--ink3)}
.srcs{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.src{display:block;min-width:0;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.src:hover{border-color:var(--accent)}
.src small{display:block;color:var(--accent-ink);font-size:11px;font-weight:700}
.src b{display:block;font-size:13px}
.src span{display:block;color:var(--ink3);font-size:11.5px;overflow-wrap:anywhere;word-break:break-all}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
.tbl table{width:100%;border-collapse:collapse;font-size:13px}
.tbl th,.tbl td{padding:10px 10px;text-align:left;border-bottom:1px solid #f3f1ef;white-space:nowrap}
.tbl td:nth-child(2),.tbl td:nth-child(5){white-space:normal}
.tbl td:nth-child(5){min-width:110px}
.tbl th{background:var(--soft);color:var(--ink2);font-weight:600;font-size:12px}
.tbl tr:last-child td{border-bottom:0}
.tbl td a{color:var(--accent-ink);border-bottom:1px dotted var(--accent)}
.art>.lead,.body.read>.midcol>.lead{margin-bottom:14px}
.sitefoot{order:1;overflow-anchor:none;width:100%;max-width:1360px;margin-bottom:auto;padding:14px 0 17px;color:var(--ink3);font-size:12px;line-height:1.8;text-align:center}
.sitefoot p{margin:0}
.sitefoot a:hover{color:var(--ink)}
.empty{padding:40px 10px;text-align:center;color:var(--ink3)}
.tabbar{display:none}
.hide-sm{}
.pager{overflow-anchor:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin:18px 0 6px}.pg-n,.pg-a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink2);font-size:12.5px}.pg-n:hover,.pg-a:hover{border-color:var(--accent);color:var(--accent-ink)}.pg-n.on{background:var(--dark);border-color:var(--dark);color:#fff}.pg-gap{color:var(--ink3);padding:0 2px}.pg-top{overflow-anchor:none;display:block;margin:0 4px 10px;color:var(--accent-ink);font-size:12.5px}
@media (max-width:1100px){
.body.list{grid-template-columns:minmax(0,1fr) 380px}
.body.read{grid-template-columns:minmax(0,1fr) 300px}
.body.list .rightcol{width:380px}
.sbox{width:190px}
.body.read .rightcol{width:300px}
}
@media (max-width:960px){
html,body{height:auto}
.canvas{padding:0;display:flex;flex-direction:column;align-items:stretch}
.sitefoot{padding:16px 14px 90px;max-width:none;background:#fff}
body,.canvas{background:#fff}
.shell{height:auto;min-height:100vh;max-height:none;border-radius:0;box-shadow:none}
.shell-in{display:block;height:auto;border-radius:0;overflow:visible}
.side{display:none}
.main{display:block}
.topbar{position:sticky;top:0;z-index:20;background:#fff;padding:10px 16px 12px;gap:10px;flex-wrap:wrap}
.mbar{display:flex;flex:1 1 100%;align-items:center;justify-content:space-between}
.mbar .brand{margin:0;padding:0;font-size:17px}
.mbar .brand .lg{width:28px;height:28px}
.mmenu{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink)}
.mmenu .ic{font-size:19px}
.ptitle{flex:1 1 100%}
.psub{display:none}
.tools{flex:1 1 100%}
.sbox{flex:1;width:auto}
.obtn{display:none}
.body{display:block}
.body.list .midcol,.body.read .midcol{width:auto;border:0;padding:14px 14px 20px;overflow:visible}
.body.list .rightcol{display:none}
.frow.m-only{display:flex}
.body.read .rightcol{width:auto;border:0;border-top:1px solid var(--line);padding:16px 14px 90px;overflow:visible}
.body.list .midcol{padding-bottom:90px}
.art h1{font-size:22px}
.related{grid-template-columns:1fr}
.adi{flex-wrap:wrap}
.adi .cta{width:100%;text-align:center}
.bgrid{grid-template-columns:1fr}
.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,255,255,.96);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));backdrop-filter:blur(10px)}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;color:var(--ink3);font-size:11px}
.tabbar a .ic{font-size:20px}
.tabbar a.on{color:var(--ink);font-weight:700}
.tabbar a.on .ic{color:var(--accent)}
.hide-sm{display:none}
}
.mi{font-size:15px}
.mi.m-lang{color:#2563eb}
.mi.m-image{color:#9333ea}
.mi.m-video{color:#db2777}
.mi.m-audio{color:#ea580c}
.mi.m-3d{color:#16a34a}
.pill .mi{margin-right:5px;vertical-align:-2px}
.tl-year{margin-bottom:6px}
.tl-year h2{display:flex;align-items:center;gap:12px;margin:18px 0 12px;font-size:15px;font-weight:800;color:var(--ink);letter-spacing:.5px}
.tl{margin:0;padding:0;border-top:1px solid var(--line)}
.tl-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);list-style:none}
.tl-date{flex:none;width:86px;height:22px;display:flex;align-items:center;color:var(--ink3);font-size:12.5px;font-variant-numeric:tabular-nums}
.tl-main{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:6px 16px}
.tl-h{display:flex;flex:1 1 200px;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;font-size:14.5px;line-height:22px;font-weight:800;color:var(--ink)}
.tl-v{font-weight:400}
.tl-node{display:inline-flex}
.tl-node .thumb{width:22px;height:22px;border-radius:50%;font-size:11px}
.tl-ms{display:flex;flex:none;flex-direction:column;align-items:flex-start;gap:4px;width:200px;margin:0;padding:0}
.tl-ms li{list-style:none}
.tl-m{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0;border-bottom:1px solid transparent;font-size:13px;cursor:pointer}
.tl-m b{font-weight:600;color:var(--ink)}
.tl-m:hover b{color:var(--accent-ink)}
.tl-m.on{border-bottom-color:var(--accent)}
.tl-m.on b{color:var(--accent-ink)}
.hm-labels,.hm-grid{display:grid;gap:2px}
.hm-labels{margin-bottom:4px;color:var(--ink3);font-size:10px;font-family:var(--mono);white-space:nowrap}
.hm-labels a{color:inherit;text-decoration:none}.hm-labels a:hover{color:var(--accent)}
.hm-grid{grid-template-rows:repeat(7,auto);grid-auto-flow:column}
.hm-grid>*{display:block;aspect-ratio:1;border-radius:2px;background:#eeece9}
.hm-grid>b{background:none}
.hm-grid>a.l1{background:#fcc9a6}
.hm-grid>a.l2{background:#f59a5b}
.hm-grid>a.l3{background:#e8661a}
.hm-grid>a:hover{outline:1px solid var(--accent-ink)}
.hm-half{margin-bottom:12px}
.hm-n{margin-top:4px;color:var(--ink3);font-size:11.5px}
.mhead{display:flex;align-items:center;gap:10px;color:var(--ink2)}
.mhead .thumb{width:34px;height:34px;border-radius:10px;font-size:15px}
.mhead .mv{font-weight:700;color:var(--ink)}
.mhead .md{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--accent-ink);font-weight:700}
.mtags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 2px}
.mline{margin:2px 0 12px;font-size:15px;font-weight:700;line-height:1.55}
.mintro p{margin-bottom:0;font-size:13.5px;line-height:1.9;color:var(--ink2)}
.specs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.spec{padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12.5px;color:var(--ink2)}
.spec b{color:var(--ink)}
.mlinks{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0 6px}
.mlinks a{color:var(--accent-ink);font-size:13px;border-bottom:1px dotted var(--accent)}
[data-pane][hidden]{display:none}
.pin{margin-right:5px;color:var(--ink3);transform:rotate(30deg)}
.ttbl{border-top:1px solid var(--line)}
.trow{display:flex;align-items:center;gap:12px;padding:12px 8px;border-bottom:1px solid var(--line);cursor:pointer}
a.trow:hover .tti,a.trow.on .tti{color:var(--accent-ink)}
.trow.thead{padding:10px 8px;color:var(--ink3);font-size:12px;cursor:default}
.trow .tt{flex:1;min-width:0}
.tti{font-size:14.5px;line-height:1.5;color:var(--ink)}
.tt small{display:block;margin-top:2px;color:var(--ink3);font-size:12.5px}
.btag{display:inline-block;margin:5px 0 0 12px;padding:1px 8px;border-radius:4px;background:var(--soft);color:var(--ink2);font-size:11.5px}
.av{flex:none;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-size:13px;font-weight:700}
.av.ph{background:none}
.tr-n{flex:none;width:44px;text-align:center;font-weight:700;color:var(--ink2)}
.tr-n.hot{color:var(--ad2)}
.tr-t{flex:none;width:76px;text-align:center;color:var(--ink2);font-size:12.5px}
.thead .tr-n,.thead .tr-t{font-weight:400;color:var(--ink3)}
.panel .meta{display:flex;gap:12px;margin:0 0 12px;color:var(--ink3);font-size:12px}

.card .edate{position:absolute;top:14px;right:14px;color:var(--ink3);font-family:var(--mono);font-size:11px}
.ctitle.ev{margin-top:0;padding-right:84px}
.spec{border-radius:10px}
.mfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:14px;border-top:1px solid var(--line);color:var(--ink3);font-size:12px}
.mtopics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 10px}
.mtopics em{font-style:normal}
.psec{margin-bottom:22px}
.phead{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0 0 10px;font-size:16px;font-weight:800}
.phead small{color:var(--ink3);font-size:12px;font-weight:400}
.phead small a{border-bottom:1px dotted var(--ink3)}
.pcat.on b{color:var(--accent-ink)}
.pcat.on{box-shadow:inset 3px 0 0 var(--accent);padding-left:10px}
.vsec{margin-bottom:30px;scroll-margin-top:12px}
.vh{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:22px;font-weight:800;line-height:1.3}
.vh .thumb{width:34px;height:34px;border-radius:50%;font-size:15px}
.vh a:hover{color:var(--accent-ink)}
.vh small{margin-left:auto;color:var(--ink3);font-size:12px;font-weight:400}
.vs{display:flex;align-items:center;gap:8px;margin:16px 0 8px;font-size:15px;font-weight:700}
.vs .ic{color:var(--accent)}
.vl{margin:0;padding:0}
.vl li{display:flex;align-items:baseline;gap:12px;padding:8px 0;list-style:none;font-size:14px;line-height:1.6}
.vl time{flex:none;width:86px;color:var(--ink3);font-size:12.5px;font-variant-numeric:tabular-nums}
.vl a{font-weight:600}
.vl a:hover{color:var(--accent-ink)}
.vm{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.vm i{color:var(--ink3);font-style:normal}
.vm em{font-style:normal}
.toc{display:flex;flex-direction:column;margin-bottom:14px;padding:4px 2px}
.toc a{display:block;padding:4px 8px;border-radius:6px;color:var(--ink2);font-size:13px;line-height:1.5}
.toc a:hover{background:var(--soft);color:var(--ink)}
.toc-v{margin-top:8px;color:var(--ink)!important;font-weight:600}
.toc-s{padding-left:22px!important;color:var(--ink3)!important;font-size:12.5px!important}
.pc{margin:0 0 18px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff}
.pc-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-bottom:10px}
.pc-head b{font-size:14px;white-space:nowrap}
.pc-head small{color:var(--ink3);font-size:11.5px}
.pc-tabs{display:flex;gap:8px;margin-left:auto}
.pc-tab{padding:4px 13px;white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12.5px;color:var(--ink2)}
.pc-tab:hover{border-color:#d9d4d0;color:var(--ink)}
.pc-tab.on{background:var(--dark);border-color:var(--dark);color:#fff}
.pc-svg{display:block;width:100%;height:auto}
.pc-svg[hidden]{display:none}
.pc-svg .gl{stroke:var(--line);stroke-dasharray:3 4}
.pc-svg .gv{stroke:var(--line)}
.pc-svg .gt{fill:var(--ink3);font-size:10px;font-family:var(--mono)}
.pc-s .ln{fill:none;stroke:var(--c);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;opacity:.45}
.pc-s .ar{opacity:0}
.pc-s .dt{fill:var(--c);stroke:#fff;stroke-width:1.5;opacity:.6}
.pc-s .lb{display:none;fill:var(--ink);font-size:10px;font-weight:700;font-family:var(--mono);paint-order:stroke;stroke:#fff;stroke-width:3px}
.pc-s.on .ln{stroke-width:2.6;opacity:1}
.pc-s.on .ar{opacity:1}
.pc-s.on .dt{opacity:1}
.pc-s.on .lb{display:block}
.pc-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pc-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink2);font-size:12.5px}
.pc-chip i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.pc-chip:hover{border-color:#d9d4d0;color:var(--ink)}
.pc-chip.on{background:var(--dark);border-color:var(--dark);color:#fff}
.pc-chip.on i{box-shadow:0 0 0 1.5px #fff}
.dl{display:block;font-size:11px;font-weight:600}
.dl.down{color:var(--free)}
.dl.up{color:#dc2626}
.dl.flat{color:var(--ink3);font-weight:400}
.pill .pcnt{margin-left:5px;font-style:normal;font-size:11px;color:var(--ink3)}
.pill.on .pcnt{color:rgba(255,255,255,.7)}
.tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tcard{position:relative;display:flex;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:border-color .15s,transform .15s}
.tcard:hover{border-color:var(--accent);transform:translateY(-2px)}
.tcard .stretch{position:absolute;inset:0;border-radius:18px}
.tcard .th{display:flex;align-items:center;gap:10px}
.tcard .th .thumb{width:42px;height:42px;border-radius:12px;font-size:18px}
.tcard .tn{flex:1;min-width:0}
.tcard .tn b{display:block;font-size:14.5px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tcard .tn small{color:var(--ink3);font-size:11.5px}
.tcard .td{margin:12px 0;flex:1;color:var(--ink2);font-size:12.5px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tcard .tf{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--line);color:var(--ink3);font-size:11.5px}
.tcard .tf span:last-child{color:var(--accent-ink);font-weight:600}
.nlist{border-top:1px solid var(--line)}
.nrow{display:grid;grid-template-columns:1fr 124px;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.nbody{display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.nt{margin:0;font-size:16px;line-height:1.55;font-weight:600}
.nt a:hover{color:var(--accent-ink)}
.nm{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.nm time{flex:none;color:var(--ink3);font-size:12.5px}
.ntags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.ntag{padding:2px 10px;border-radius:6px;background:var(--soft);color:var(--ink2);font-size:12px}
.ntag:hover{background:var(--peach);color:var(--accent-ink)}
.nthumb{position:relative;display:flex;align-items:flex-end;align-self:center;height:82px;padding:8px 10px;border-radius:10px;overflow:hidden;color:#fff;font-size:11.5px;font-weight:700}
.nthumb .ic{position:absolute;right:8px;top:8px;font-size:22px;opacity:.5}
.nrow:hover .nthumb{filter:brightness(1.05)}
.sidecard{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
.sidecard:last-child{border-bottom:0}
.sidecard .sh{display:flex;align-items:center;gap:8px}
.sidecard .sh .thumb{width:24px;height:24px;border-radius:8px;font-size:12px}
.sidecard .sh b{font-size:14px}
.sidecard p{margin:6px 0 4px;color:var(--ink2);font-size:12.5px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sidecard small{color:var(--ink3);font-size:11.5px}
.sidecard:hover b{color:var(--accent-ink)}
@media (max-width:960px){
.nrow{grid-template-columns:1fr 96px;gap:12px}
.nthumb{height:68px}
}
.vcount{margin-left:auto;color:var(--ink3);font-size:12px;font-weight:400}
.box h4{display:flex;align-items:center}
.vchips{display:flex;flex-wrap:wrap;gap:6px}
.vchip{padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:12px}
a.vchip:hover{border-color:var(--accent);color:var(--accent-ink)}
.vchip.off{background:var(--soft);border-color:transparent;color:var(--ink3)}
.vl a.on{color:var(--accent-ink)}
.tbl td small.pv{display:block;margin-top:2px;font-size:11.5px}
.ptbl table{table-layout:fixed}
.ptbl th:nth-child(1),.ptbl td:nth-child(1){width:92px}
.ptbl th:nth-child(3),.ptbl td:nth-child(3),.ptbl th:nth-child(4),.ptbl td:nth-child(4){width:84px}
.ptbl td:nth-child(2),.ptbl td:nth-child(5){white-space:normal;overflow-wrap:anywhere}
.ptbl tr.rowlink{cursor:pointer}
.ptbl a.rn{font-weight:600;color:var(--ink);border-bottom:0}
.ptbl tr.rowlink:hover a.rn{color:var(--accent-ink)}
.ptbl tr.rowlink.on td{background:var(--soft)}
.mprice{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:10px;margin-bottom:8px}
.mprice>div{padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;min-width:0}
.mprice small{display:block;color:var(--ink3);font-size:11.5px}
.mprice b{display:inline-block;font-size:20px;font-weight:800}
.mprice .mpu b{font-size:13px;font-weight:600}
.mprice em{margin-left:8px;font-style:normal}
.mpn{margin:0 0 10px;color:var(--ink2);font-size:12.5px}
.md-head{display:flex;align-items:center;gap:14px;margin:6px 0 10px}
.md-head .thumb{width:46px;height:46px;border-radius:12px;font-size:20px}
.md-head h1{margin:0;font-size:26px;line-height:1.25}
.md-sub{margin:2px 0 0;color:var(--ink2);font-size:14px}
.md-meta{display:flex;flex-wrap:wrap;gap:2px 8px;margin:0 0 18px;color:var(--ink3);font-size:12.5px}
.md-meta i{font-style:normal;opacity:.6}
.md-meta a{color:var(--ink2)}
.md-meta a:hover{color:var(--accent-ink)}
.md-intro{margin:0 0 10px;font-size:14.5px;line-height:1.95;color:#2b2b34}
.md-tags{display:flex;flex-wrap:wrap;gap:2px 12px;margin:0;color:var(--ink3);font-size:12.5px}
.md-sec{margin-top:28px}
.md-sec h2{margin:0 0 10px;font-size:15px;font-weight:800}
.md-kv{display:grid;grid-template-columns:120px 1fr;margin:0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.md-kv dt,.md-kv dd{margin:0;padding:11px 16px}
.md-kv dt{color:var(--ink3);font-size:13px}
.md-kv dd{font-size:13.5px;font-weight:600}
.md-kv>:nth-child(n+3){border-top:1px solid #f3f1ef}
.md-kv dd small{margin-left:6px;color:var(--ink3);font-size:12px;font-weight:400}
.md-kv dd small.dl{display:inline;margin-left:10px;font-weight:600}
.md-kv dd small.dl.down{color:var(--free)}
.md-kv dd small.dl.up{color:#dc2626}
.md-note{margin:8px 2px 0;color:var(--ink3);font-size:12.5px}
.md-note a{color:var(--accent-ink);border-bottom:1px dotted var(--accent)}
.md-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.md-links a{color:var(--accent-ink);font-size:13px;border-bottom:1px dotted var(--accent)}
.vfeed li{align-items:baseline;min-height:38.4px}
.mfeed li{align-items:flex-start}
.mfeed time,.mfeed .vn{line-height:22.4px}
.mfeed .vm{align-items:center;gap:4px 16px}
.mfeed .vmi{display:inline-flex;align-items:center;gap:6px}
.mfeed .vbr{flex-basis:100%;height:0;margin:0}
.mfeed .vmi.pair{min-width:236px}
.mfeed .vmi .tl-m{height:auto;font-size:14px;line-height:calc(1.6em - 1px)}
.vfeed .vt{flex:1;min-width:0}
.vfeed .vn{flex:none;margin-left:auto;padding-left:12px;color:var(--ink3);font-size:12.5px;font-weight:400}
.vfeed .vn:hover{color:var(--accent-ink)}
.tg.rel{background:#eceff8;color:#4a5698}
.tbl.ptbl{border:0;border-radius:0;background:none;overflow:visible}
.ptbl table{font-size:14px}
.ptbl th{background:none;border-bottom:1px solid var(--line);color:var(--ink3);font-size:12.5px;font-weight:400}
.ptbl td{border-bottom:0;padding:8px 10px}
.ptbl th:first-child,.ptbl td:first-child{padding-left:0}
.ptbl td:nth-child(1){color:var(--ink3);font-size:12.5px}
.ptbl td:nth-child(5){color:var(--ink2);font-size:13px}
.mfeed .vmi{flex-wrap:wrap;max-width:100%}
.mfeed .tg{white-space:nowrap}
.mfeed .vm{row-gap:0}
.mfeed .vmi{row-gap:0}
.mfeed .tg{margin:1.4px 0}
.ptbl td{line-height:22.4px}
.ptbl td small.dl{display:inline;margin-left:6px}
.ptbl th:nth-child(3),.ptbl td:nth-child(3),.ptbl th:nth-child(4),.ptbl td:nth-child(4){width:104px}
.ptbl td small.dl{line-height:1}
.ptbl th:nth-child(2),.ptbl td:nth-child(2){width:164px}
.panel.px{position:relative}
.pexpand{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink2)}
.pexpand:hover{border-color:var(--accent);color:var(--accent-ink)}
.pexpand .ic{font-size:15px}
.panel.px>.kicker,.panel.px>h2,.panel.px>.head{padding-right:44px}
@media (max-width:960px){
.tbl.ptbl table,.tbl.ptbl tbody{display:block;width:auto}
.tbl.ptbl thead{display:none}
.tbl.ptbl tr{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"m d" "i o" "n n";gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
.tbl.ptbl td{display:block;width:auto!important;padding:0!important;white-space:normal!important;line-height:22.4px}
.tbl.ptbl td:nth-child(1){grid-area:d;text-align:right}
.tbl.ptbl td:nth-child(2){grid-area:m}
.tbl.ptbl td:nth-child(3){grid-area:i}
.tbl.ptbl td:nth-child(4){grid-area:o}
.tbl.ptbl td:nth-child(5){grid-area:n}
.tbl.ptbl td:nth-child(3)::before{content:"输入 ";color:var(--ink3);font-size:12.5px}
.tbl.ptbl td:nth-child(4)::before{content:"输出 ";color:var(--ink3);font-size:12.5px}
}
@media (max-width:560px){
.tgrid{grid-template-columns:1fr}
}
.pill.more{color:var(--accent-ink);border-style:dashed;background:#fff}
.pill.more:hover{border-color:var(--accent)}
dialog.vp{border:0;border-radius:20px;padding:0;width:min(560px,92vw);max-height:80vh;box-shadow:0 30px 70px -20px rgba(40,30,30,.45);color:var(--ink)}
dialog.vp::backdrop{background:rgba(23,23,31,.42)}
.vp-box{display:flex;flex-direction:column;max-height:80vh;padding:18px 20px 20px}
.vp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:15px}
.vp-x{width:30px;height:30px;border:0;border-radius:50%;background:var(--soft);font-size:18px;line-height:1;color:var(--ink2)}
.vp-q{width:100%;margin-bottom:12px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;outline:0;font-size:13px;background:#fff}
.vp-q:focus{border-color:var(--accent)}
.vp-list{display:flex;flex-wrap:wrap;gap:8px;overflow-y:auto;padding-bottom:4px}
.vp-list .pill{padding:4px 11px;font-size:12px}
.vp-list [hidden]{display:none}
.mbar{display:none}
dialog.mnav{display:none}
@media (max-width:960px){
.mbar{display:flex}
dialog.mnav[open]{display:block;margin:0 0 0 auto;height:100vh;max-height:none;width:min(300px,82vw);border:0;border-radius:0;padding:0;background:#fff;color:var(--ink)}
dialog.mnav::backdrop{background:rgba(23,23,31,.42)}
.mnav-box{display:flex;flex-direction:column;height:100%;padding:16px 16px 24px;overflow-y:auto}
.mnav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.mnav-head .brand{margin:0;padding:0;font-size:17px}
.mnav-box .nav.sm{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
}

.md-hist{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.md-hist li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:11px 16px;font-size:13.5px}
.md-hist li+li{border-top:1px solid #f3f1ef}
.md-hist time{color:var(--ink3);font-size:12.5px;font-variant-numeric:tabular-nums}
.md-hist b{font-weight:700}
.md-hist span{flex:1 1 220px;color:var(--ink2,#555)}
.md-hist a{color:var(--accent);font-size:12.5px}
