:root{
  --bg:#FBFAF7;
  --ink:#2E4B3C;
  --ink-2:#5C6B60;
  --line:#E3E6DF;
  --paper:#FFFFFF;
  --wash:#F2F5F0;
  --soft:#EAF0EA;
  --warm:#7A5D4D;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{max-width:1500px;margin:0 auto!important;padding:30px 28px 72px!important;background:var(--bg)!important;color:var(--ink)!important;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Noto Serif CJK SC",sans-serif!important;line-height:1.68!important}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.28;background-image:radial-gradient(rgba(46,75,60,.08) .6px,transparent .7px);background-size:8px 8px}
a{color:var(--ink)!important;text-decoration:none!important;border-bottom:1px solid transparent}
a:hover{color:var(--ink-2)!important;border-color:#B9CBBE}
h1,h2{color:var(--ink)!important;font-family:"Noto Serif CJK SC","Songti SC",serif!important}
h1{display:flex;align-items:center;gap:10px;margin:0 0 8px!important;font-size:clamp(22px,3vw,34px)!important;font-weight:600!important;letter-spacing:.08em}
h1:before{content:"";flex:none;width:38px;height:38px;background:url("vi/logo-heart-arrow.png") center/cover no-repeat;mix-blend-mode:multiply}
h2{margin:30px 0 12px!important;padding:0 0 8px 12px!important;border-left:3px solid var(--ink)!important;border-bottom:1px solid var(--line);font-size:18px!important;font-weight:600!important;letter-spacing:.06em}
.meta,.small,.sub,.note,.legend,.rk{color:var(--ink-2)!important}
table{background:rgba(255,255,255,.8)!important;border-color:var(--line)!important;box-shadow:0 5px 18px rgba(46,75,60,.04)}
th,td{border-color:var(--line)!important;color:var(--ink)!important}
th{background:var(--soft)!important;color:var(--ink)!important}
tr:hover td{background:#F7F9F6!important}
.sum,.total{background:var(--soft)!important;color:var(--ink)!important}
.vfm,td.f,.n1{background:var(--wash)!important;color:var(--ink)!important}
.hl,.tco,.n0{color:var(--ink)!important}
.good,.ok,.fix,.pa,.a{color:var(--ink)!important;background:var(--soft)!important;border-color:#B9CBBE!important}
.bad,.add{color:var(--warm)!important}
.mid,.adj,.pb,.pc{color:var(--ink-2)!important;background:var(--wash)!important;border-color:#B9CBBE!important}
.warn{background:#F7F3EF!important;border-color:#D9CCC2!important;color:var(--warm)!important}
.tip,.tree{background:var(--wash)!important;border-color:var(--line)!important;color:var(--ink)!important}
.tree ul,.tree li:before{border-color:#C8D4CB!important}
.var{background:#F6F5EF!important;color:var(--ink)!important;border-color:#B9CBBE!important}
.badge{background:var(--ink)!important;color:var(--paper)!important;border:1px solid var(--ink)!important}
button,.btn{background:var(--ink)!important;color:var(--paper)!important;border:1px solid var(--ink)!important;box-shadow:none!important}
button:hover,.btn:hover{background:var(--deep,#20382C)!important}
#bud{background:var(--paper)!important;color:var(--ink)!important;border-color:#B9CBBE!important}
::selection{background:#DCE8DD;color:var(--ink)}
@media(max-width:640px){body{padding:20px 14px 48px!important}h1{font-size:22px!important}h1:before{width:32px;height:32px}h2{font-size:16px!important}table{font-size:11px!important}}
