:root{--paper:#f4f1ea;--ink:#111;--line:#111;--muted:#5c574d;--accent:#ff3b1f;--soft:#e6e1d5}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue","Noto Sans TC",Arial,sans-serif}
a{color:inherit;text-decoration:none}.wrap{width:min(1240px,94vw);margin:0 auto}
.ticker{background:var(--ink);color:var(--paper);font-size:12px;letter-spacing:.22em;padding:8px 0;overflow:hidden;white-space:nowrap}
.ticker span{display:inline-block;padding-right:60px}
.top{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:2px solid var(--ink)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.logo img{width:64px;height:auto;display:block}
.menu{display:flex;gap:26px;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.menu a{border-bottom:2px solid transparent;padding-bottom:3px}.menu a:hover{border-color:var(--accent)}
.hero{border-bottom:2px solid var(--ink);padding:52px 0}
.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:40px;align-items:end}
h1{font-size:clamp(38px,7vw,92px);line-height:.94;letter-spacing:-.03em;margin:0 0 18px;text-transform:none}
.kicker{font-size:12px;letter-spacing:.3em;color:var(--accent);margin-bottom:18px}
.lead{font-size:16px;line-height:1.8;color:var(--muted);max-width:620px}
.hero-side{border:2px solid var(--ink);padding:16px;background:#fff}
.hero-side img{width:100%;height:180px;object-fit:contain}
.hero-side dl{margin:14px 0 0;font-size:13px}.hero-side dt{color:var(--muted);float:left;clear:left;width:82px}.hero-side dd{margin:0 0 7px 82px;font-weight:700}
.act{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.btn{border:2px solid var(--ink);background:#fff;padding:13px 22px;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.04em}
.btn-main{background:var(--ink);color:var(--paper)}.btn-main:hover{background:var(--accent);border-color:var(--accent)}
.sec{padding:56px 0;border-bottom:2px solid var(--ink)}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.sec-head h2{font-size:clamp(24px,3.4vw,40px);margin:0;letter-spacing:-.02em}
.sec-head p{margin:0;color:var(--muted);font-size:14px;max-width:460px}
.rows{border-top:1px solid var(--ink)}
.rw{display:grid;grid-template-columns:96px 1.25fr 1fr .8fr .8fr auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--ink)}
.rw:hover{background:#fff}
.rw img{width:80px;height:64px;object-fit:contain;background:#fff;border:1px solid var(--soft)}
.rw h3{margin:0 0 4px;font-size:19px}.rw .role{font-size:12px;letter-spacing:.14em;color:var(--accent)}
.rw .desc{font-size:13px;color:var(--muted);line-height:1.6}
.rw .unit{font-size:13px;color:var(--muted)}.rw .sum{font-size:24px;font-weight:800}
.rw .go{display:flex;gap:8px}.rw .go .btn{padding:10px 14px;font-size:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid var(--ink)}
.grid3 article{border-right:1px solid var(--ink);padding:24px}
.grid3 b{display:block;font-size:44px;line-height:1;margin-bottom:10px}
.grid3 h3{margin:0 0 6px;font-size:16px}.grid3 p{margin:0;font-size:13px;color:var(--muted);line-height:1.7}
details{border-bottom:1px solid var(--ink);padding:16px 0}summary{cursor:pointer;font-size:17px;font-weight:700;list-style:none}
summary::-webkit-details-marker{display:none}summary::before{content:"+";margin-right:12px;color:var(--accent)}
details[open] summary::before{content:"–"}details p{margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.8}
.posts{display:grid;grid-template-columns:1fr 1.1fr;gap:36px}
.feature img{width:100%;height:300px;object-fit:cover;border:2px solid var(--ink)}
.feature h3{margin:16px 0 8px;font-size:26px;line-height:1.2}.feature p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.plist{border-top:1px solid var(--ink)}
.plist a{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--ink);align-items:baseline}
.plist a:hover h4{color:var(--accent)}.plist .no{font-size:12px;color:var(--accent);letter-spacing:.1em}
.plist h4{margin:0 0 4px;font-size:16px}.plist p{margin:0;font-size:13px;color:var(--muted)}
.foot{padding:40px 0 60px;font-size:13px;color:var(--muted)}
.foot .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:24px;margin-bottom:26px}
.foot a{display:block;margin-bottom:8px}
.cart{position:fixed;right:22px;bottom:22px;background:var(--ink);color:var(--paper);padding:12px 16px;font-size:13px;z-index:40}
.cart strong{display:block}
.doc{padding:48px 0 70px}.doc .crumb{font-size:12px;letter-spacing:.16em;color:var(--muted);margin-bottom:18px}
.doc h1{font-size:clamp(28px,4.4vw,54px);margin-bottom:18px}
.doc .body{max-width:780px;margin-left:auto;margin-right:auto}.doc .body p,.doc .body li{font-size:15px;line-height:1.9;color:#2c2a26}
.doc:has(.body) .crumb,
.doc:has(.body) h1,
.doc:has(.body) .cover{max-width:780px;margin-left:auto;margin-right:auto}
.doc .cover{width:100%}
.doc .body h2{font-size:22px;margin:34px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.doc .cover img{width:100%;max-height:380px;object-fit:cover;border:2px solid var(--ink);margin-bottom:26px}
.pdetail{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.pdetail .shot{border:2px solid var(--ink);background:#fff;padding:26px}.pdetail .shot img{width:100%;height:300px;object-fit:contain}
.pdetail table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px}
.pdetail th,.pdetail td{border:1px solid var(--ink);padding:11px 13px;text-align:left}.pdetail th{width:130px;background:#fff}
@media(max-width:980px){.hero-grid,.posts,.pdetail{grid-template-columns:1fr}.grid3{grid-template-columns:1fr;border-left:none}
.grid3 article{border-right:none;border-bottom:1px solid var(--ink)}
.rw{grid-template-columns:70px 1fr;gap:12px}.rw .unit,.rw .desc{display:none}.rw .sum{font-size:20px}.menu{display:none}}

/* article polish */
.doc .body h3{font-size:17px;margin:22px 0 8px}
.doc .body .related{margin-top:42px;padding-top:22px;border-top:2px solid var(--ink)}
.doc .body .related ul{padding-left:18px}
.doc .body .table-wrap{overflow:auto;margin:18px 0 24px;border:2px solid var(--ink)}
.doc .body table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
.doc .body th,.doc .body td{padding:11px 12px;border-bottom:1px solid #d8d2c6;text-align:left;vertical-align:top}
.doc .body th{background:#efe8d8;font-weight:700}
.doc .body tr:last-child td{border-bottom:none}
.bmi{margin:28px 0;padding:22px;border:2px solid var(--ink);background:#fffdf8}
.bmi h2{margin:0 0 8px;font-size:20px;border:none;padding:0}
.bmi p{margin:0 0 14px;color:var(--muted);font-size:14px}
.bmi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.bmi label{display:grid;gap:6px;font-size:12px;letter-spacing:.08em;color:var(--muted)}
.bmi input{border:1.5px solid var(--ink);background:#fff;color:var(--ink);padding:11px 12px;font:inherit}
.bmi button{border:2px solid var(--ink);background:var(--ink);color:#f7f1e6;padding:11px 16px;font:inherit;cursor:pointer}
.bmi button:hover{background:var(--accent);border-color:var(--accent)}
.bmi-out{margin-top:14px;padding:12px 14px;border:1.5px dashed #b7ad99;background:#f3ece0;font-size:14px}
@media(max-width:700px){.bmi-grid{grid-template-columns:1fr}}
/* Sticky footer v4 — margin-top:auto 推页脚到底 */
html{height:100%}
body{
  min-height:100vh!important;
  min-height:100dvh!important;
  display:flex!important;
  flex-direction:column!important;
}
body>header,body>.top,body>.hdr,body>.hyper-hdr,body>.wl-top,body>.ap-top,body>.ticker,body>.announce{flex-shrink:0}
body>main{flex:1 0 auto!important;width:100%}
footer.foot,body>footer,body>.foot,body>.hyper-foot,body>.wl-foot,body>.ap-foot{
  flex-shrink:0!important;
  width:100%;
  margin-top:auto!important;
}
/* article-detail-fix */
.doc .body{margin-top:8px}
.doc .related{margin-top:42px;padding-top:22px;border-top:2px solid var(--ink)}
.doc .related h2{margin:0 0 14px;font-size:20px}
.doc .related>a{display:block;padding:14px 16px;border:1.5px solid var(--ink);margin-bottom:10px;text-decoration:none;background:#fffdf8}
.doc .related>a strong{display:block;font-size:15px;margin-bottom:6px;color:var(--ink)}
.doc .related>a span{font-size:13px;color:var(--muted);line-height:1.55}
/* article-layout-wide */
main.doc .wrap > .crumb,
main.doc .wrap > h1,
main.doc .wrap > .cover,
main.doc .wrap > .doc {
  max-width: min(960px, 94vw);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
main.doc .doc .body {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
main.doc:has(.body) .cover {
  max-width: min(960px, 94vw);
}

/* article-no-mid-cover */
.page-content [class$="-cover"],
.page-content .article-cover,
.content [class$="-cover"],
.content .article-cover,
.prose [class$="-cover"],
.prose .article-cover,
.hyper-prose [class$="-cover"],
.tk-prose [class$="-cover"],
.tk-prose .article-cover,
.body [class$="-cover"],
.body .article-cover,
.bl-prose [class$="-cover"],
.bl-prose .article-cover,
.hz-prose [class$="-cover"],
.vx-prose [class$="-cover"],
.sf-prose [class$="-cover"],
.np-prose [class$="-cover"],
.ap-prose [class$="-cover"],
.wl-prose [class$="-cover"] {
  display: none !important;
}
