*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--vbm-bg:#f9f7f3;--vbm-fg:#1a1a1a;--vbm-acc:#7a2040;--vbm-gold:#c9a040;--vbm-mute:#666;--vbm-bdr:#d0cbc0;--vbm-card:#fff;--vbm-r:6px;--vbm-w:1060px;--vbm-f:'Georgia',serif;--vbm-s:'Segoe UI','Helvetica Neue',Arial,sans-serif}
html{font-size:17px;scroll-behavior:smooth}
body.vbm-body{font-family:var(--vbm-f);color:var(--vbm-fg);background:var(--vbm-bg);line-height:1.72}
.vbm-header{background:linear-gradient(135deg,#1a0812 0%,#3a1525 100%);color:#eee;padding:.85rem 1.2rem}
.vbm-header-inner{max-width:var(--vbm-w);margin:0 auto;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.vbm-logo{font-family:var(--vbm-s);font-size:1rem;font-weight:700;color:var(--vbm-gold);text-decoration:none;flex:1;white-space:nowrap}
.vbm-nav ul{display:flex;gap:.5rem;list-style:none;flex-wrap:wrap}
.vbm-nav a{font-family:var(--vbm-s);font-size:.8rem;color:#b8a0a8;text-decoration:none;padding:.25rem .45rem;border-radius:var(--vbm-r);transition:background .15s}
.vbm-nav a:hover,.vbm-nav a.vbm-cur{background:rgba(255,255,255,.12);color:#fff}
.vbm-main{max-width:var(--vbm-w);margin:2rem auto;padding:0 1.2rem}
.vbm-grid{display:block}
.vbm-has-side{display:grid;grid-template-columns:1fr 280px;gap:2.2rem}
.vbm-article h1{font-size:1.55rem;line-height:1.28;margin-bottom:.7rem}
.vbm-article h2{font-size:1.18rem;margin-top:2rem;margin-bottom:.5rem;color:var(--vbm-acc);border-bottom:2px solid var(--vbm-bdr);padding-bottom:.25rem}
.vbm-article p{margin-bottom:1rem}
.vbm-article ul,.vbm-article ol{margin:0 0 1rem 1.6rem}
.vbm-article li{margin-bottom:.3rem}
.vbm-article a{color:var(--vbm-acc);text-decoration:underline;text-underline-offset:2px}
.vbm-article a:hover{color:var(--vbm-gold)}
.vbm-fig{margin:1.5rem 0;text-align:center}
.vbm-fig img{max-width:100%;height:auto;border-radius:var(--vbm-r);border:1px solid var(--vbm-bdr)}
.vbm-fig figcaption{font-size:.82rem;color:var(--vbm-mute);margin-top:.35rem;font-family:var(--vbm-s)}
.vbm-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-family:var(--vbm-s);font-size:.88rem}
.vbm-table th{background:#1a0812;color:var(--vbm-gold);padding:.55rem .7rem;text-align:left}
.vbm-table td{padding:.5rem .7rem;border-bottom:1px solid var(--vbm-bdr)}
.vbm-table tr:nth-child(even) td{background:#f2efe8}
.vbm-callout{background:var(--vbm-card);border:1px solid var(--vbm-bdr);border-left:4px solid var(--vbm-acc);border-radius:var(--vbm-r);padding:1rem 1.2rem;margin:1.5rem 0;font-family:var(--vbm-s);font-size:.92rem}
.vbm-callout strong{color:var(--vbm-acc)}
.vbm-faq{margin:1rem 0}
.vbm-faq dt{font-weight:700;margin-top:1.2rem;font-family:var(--vbm-s);font-size:.95rem;color:var(--vbm-acc)}
.vbm-faq dd{margin:.25rem 0 .8rem 0;line-height:1.65}
.vbm-sidebar{display:flex;flex-direction:column;gap:1.2rem}
.vbm-card{background:var(--vbm-card);border:1px solid var(--vbm-bdr);border-radius:var(--vbm-r);padding:1rem 1.1rem;font-family:var(--vbm-s);font-size:.85rem;line-height:1.55}
.vbm-card-t{font-size:.9rem;font-weight:700;color:var(--vbm-acc);margin-bottom:.6rem;border-bottom:1px solid var(--vbm-bdr);padding-bottom:.35rem}
.vbm-card-note{background:#fdf5e8;border-left:3px solid var(--vbm-gold)}
.vbm-card-note p{margin-bottom:.4rem;font-style:italic;color:var(--vbm-mute)}
.vbm-attr{font-style:normal;font-weight:600;text-align:right}
.vbm-card-check{background:#faf0f0;border-left:3px solid var(--vbm-acc)}
.vbm-card-check ul{list-style:none;padding:0;margin:0}
.vbm-card-check li{padding:.2rem 0 .2rem 1.3rem;position:relative}
.vbm-card-check li::before{content:"\2610";position:absolute;left:0;color:var(--vbm-acc)}
.vbm-minitbl{width:100%;border-collapse:collapse;font-size:.82rem}
.vbm-minitbl td{padding:.3rem .4rem;border-bottom:1px solid var(--vbm-bdr)}
.vbm-minitbl td:first-child{font-weight:600;white-space:nowrap}
.vbm-footer{background:linear-gradient(135deg,#1a0812 0%,#3a1525 100%);color:#b0a0a5;padding:1.8rem 1.2rem;margin-top:3rem}
.vbm-footer-inner{max-width:var(--vbm-w);margin:0 auto;font-family:var(--vbm-s);font-size:.82rem}
.vbm-disclaim{margin-bottom:.6rem;line-height:1.55}
.vbm-foot-nav ul{display:flex;gap:.9rem;list-style:none}
.vbm-foot-nav a{color:var(--vbm-gold);text-decoration:none}
.vbm-foot-nav a:hover{text-decoration:underline}
@media(max-width:820px){.vbm-has-side{grid-template-columns:1fr}.vbm-sidebar{order:2}}
@media(max-width:640px){html{font-size:15px}.vbm-header-inner{flex-direction:column;align-items:flex-start;gap:.5rem}.vbm-nav ul{gap:.3rem}}
