.vpub{--bg:#f6f1e4;--surface:#f1ebdb;--surface-hi:#eae3d0;--surface-lo:#fbf6e9;--line:rgba(60,45,20,0.1);--line-hi:rgba(60,45,20,0.22);--ink:#221c10;--ink-dim:#5a4f36;--ink-low:#8a7d5e;--ochre:#9a7318;--sage:#6e8658;--clay:#8b3f1c;--rose:#a04848;background:var(--bg);color:var(--ink);font-family:var(--font-sans),system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh}.vpub *,.vpub :after,.vpub :before{box-sizing:border-box}.vpub .mono{font-family:var(--font-mono),monospace}.vpub a{color:inherit}.vpub .nav{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:160px 1fr auto;align-items:center;padding:14px 32px;background:var(--bg);border-bottom:1px solid var(--line);gap:24px}.vpub .brand{display:flex;align-items:baseline;gap:10px;font-family:var(--font-mono),monospace;font-weight:600;letter-spacing:.12em;color:var(--ink);font-size:15px}.vpub .brand .mark{width:10px;height:10px;background:var(--ochre);display:inline-block;transform:rotate(45deg)}.vpub .brand .live{width:5px;height:5px;border-radius:50%;background:var(--sage);animation:vpub-pulse 2s infinite}@keyframes vpub-pulse{0%,to{opacity:1}50%{opacity:.3}}.vpub .nav-links{display:flex;gap:2px;justify-self:center}.vpub .nav-links a{padding:6px 12px;color:var(--ink-dim);text-decoration:none;font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-radius:3px;cursor:pointer}.vpub .nav-links a:hover{color:var(--ink);background:var(--surface)}.vpub .nav-links a.on{color:var(--ochre)}.vpub .nav-cta{display:flex;gap:8px;align-items:center}.vpub .lang{display:flex;border:1px solid var(--line-hi);border-radius:3px;overflow:hidden}.vpub .lang button{padding:6px 11px;background:transparent;border:none;font:inherit;font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.1em;color:var(--ink-low);cursor:pointer}.vpub .lang button.on{background:var(--ochre);color:#1a1305;font-weight:600}.vpub .ph{border-bottom:1px solid var(--line);padding:64px 32px 44px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end}.vpub .ph .crumb{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.2em;color:var(--ochre);text-transform:uppercase;margin-bottom:22px;display:flex;gap:10px;align-items:center}.vpub .ph .crumb:before{content:"";width:20px;height:1px;background:var(--ochre)}.vpub .ph h1{font-size:clamp(40px,5vw,72px);line-height:.98;letter-spacing:-.035em;margin:0 0 16px;font-weight:500;color:var(--ink)}.vpub .ph h1 em{font-family:var(--font-serif),serif;font-style:italic;color:var(--ochre);font-weight:400}.vpub .ph p{font-size:16px;line-height:1.55;color:var(--ink-dim);max-width:520px;margin:0}.vpub .ph .meta{font-family:var(--font-mono),monospace;font-size:11px;color:var(--ink-low);letter-spacing:.12em;text-transform:uppercase;border-left:1px solid var(--line);padding-left:32px;display:flex;flex-direction:column;gap:13px}.vpub .ph .meta .r{display:flex;justify-content:space-between;gap:24px}.vpub .ph .meta .r .v{color:var(--ink)}.vpub .sec{padding:48px 32px}.vpub .sec,.vpub .sec-head{border-bottom:1px solid var(--line)}.vpub .sec-head{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:baseline;margin-bottom:28px;padding-bottom:14px}.vpub .sec-num{font-family:var(--font-mono),monospace;font-size:11px;color:var(--ochre);letter-spacing:.2em}.vpub .sec-title{font-size:clamp(22px,2.6vw,34px);font-weight:500;letter-spacing:-.025em;margin:0;color:var(--ink)}.vpub .sec-title em{font-family:var(--font-serif),serif;font-style:italic;color:var(--ochre);font-weight:400}.vpub .sec-aside{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-low)}.vpub .stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--surface-lo)}.vpub .stats .s{padding:20px 22px;border-right:1px solid var(--line)}.vpub .stats .s:last-child{border-right:none}.vpub .stats .s .l{font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-low);margin-bottom:8px}.vpub .stats .s .v{font-family:var(--font-serif),serif;font-size:34px;font-weight:500;letter-spacing:-.03em;line-height:1;color:var(--ink)}.vpub .stats .s .d{font-family:var(--font-mono),monospace;font-size:10px;color:var(--sage);margin-top:6px;letter-spacing:.04em}.vpub .filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.vpub .filters .chip{padding:6px 11px;font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-hi);color:var(--ink-dim);cursor:pointer;display:flex;align-items:center;gap:6px}.vpub .filters .chip.on{background:rgba(154,115,24,.1);border-color:var(--ochre);color:var(--ink)}.vpub .filters .chip b{color:var(--ochre)}.vpub .filters .spacer{flex:1}.vpub .ttable{border:1px solid var(--line);background:var(--surface-lo);font-family:var(--font-mono),monospace;font-size:12px}.vpub .thead,.vpub .trow{display:grid;grid-template-columns:54px 2.2fr 1.4fr 110px 90px 80px;gap:14px;padding:11px 16px;align-items:center}.vpub .thead{border-bottom:1px solid var(--line);background:var(--surface);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-low)}.vpub .thead .r,.vpub .trow .r{text-align:right}.vpub .trow{border-bottom:1px solid var(--line);color:var(--ink)}.vpub .trow:last-child{border-bottom:none}.vpub .trow:hover{background:var(--surface)}.vpub .trow .fit{font-size:14px;font-weight:600;color:var(--ochre)}.vpub .trow .fit.mid{color:var(--ink-dim)}.vpub .trow .title{font-weight:500}.vpub .trow .title .cpv{display:block;font-size:10px;color:var(--ink-low);margin-top:2px}.vpub .trow .buyer{color:var(--ink-dim)}.vpub .trow .val{text-align:right;color:var(--ink)}.vpub .trow .dl{text-align:right;color:var(--ink-dim)}.vpub .trow .dl.soon{color:var(--clay)}.vpub .trow .st{text-align:right}.vpub .pill{display:inline-block;padding:2px 6px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line-hi);color:var(--ink-dim)}.vpub .pill.open{color:var(--sage);border-color:rgba(110,134,88,.4)}.vpub .gate{margin-top:-1px;border:1px solid var(--line);border-top:none;background:linear-gradient(180deg,transparent,var(--surface));padding:36px 32px;text-align:center;position:relative}.vpub .gate:before{content:"";position:absolute;top:-60px;left:0;right:0;height:60px;background:linear-gradient(180deg,transparent,var(--bg));pointer-events:none}.vpub .gate h3{font-family:var(--font-serif),serif;font-size:24px;font-weight:500;margin:0 0 10px;color:var(--ink)}.vpub .gate h3 em{font-style:italic;color:var(--ochre)}.vpub .gate p{font-size:14px;color:var(--ink-dim);max-width:440px;margin:0 auto 20px;line-height:1.55}.vpub .bars{display:flex;align-items:flex-end;gap:8px;height:200px;padding:14px 0}.vpub .bars .col{flex:1;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:flex-end;height:100%}.vpub .bars .col .bar{width:100%;background:var(--ochre);opacity:.4;transition:opacity .15s}.vpub .bars .col .bar.hi{opacity:1}.vpub .bars .col:hover .bar{opacity:.85}.vpub .bars .col .l{font-family:var(--font-mono),monospace;font-size:9px;color:var(--ink-low);letter-spacing:.06em}.vpub .chartwrap{border:1px solid var(--line);background:var(--surface-lo);padding:18px 22px}.vpub .chartfoot{display:flex;justify-content:space-between;font-family:var(--font-mono),monospace;font-size:10px;color:var(--ink-low);letter-spacing:.08em;margin-top:8px}.vpub .chartfoot b{color:var(--ochre)}.vpub .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.vpub .three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.vpub .sbars{display:flex;flex-direction:column;gap:12px}.vpub .sbar{display:grid;grid-template-columns:150px 1fr 70px;gap:14px;align-items:center;font-family:var(--font-mono),monospace;font-size:11px}.vpub .sbar .l{color:var(--ink)}.vpub .sbar .b{height:8px;background:var(--surface-hi);position:relative;overflow:hidden}.vpub .sbar .b span{position:absolute;left:0;top:0;bottom:0;background:var(--ochre)}.vpub .sbar .v{text-align:right;color:var(--ink-dim)}.vpub .method{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);background:var(--surface-lo)}.vpub .method .m{padding:20px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.vpub .method .m:nth-child(2n){border-right:none}.vpub .method .m:nth-last-child(-n+2){border-bottom:none}.vpub .method .m .k{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ochre);margin-bottom:8px}.vpub .method .m p{font-size:13px;line-height:1.6;color:var(--ink-dim);margin:0}.vpub .method .m p b{color:var(--ink)}.vpub .dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.vpub .doc{border:1px solid var(--line);background:var(--surface-lo);padding:0;display:flex;flex-direction:column;cursor:pointer;transition:border-color .12s}.vpub .doc:hover{border-color:var(--ochre)}.vpub .doc .top{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.vpub .doc .kind{font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--line-hi);color:var(--ink-dim)}.vpub .doc .kind.guide{color:var(--sage);border-color:rgba(110,134,88,.4)}.vpub .doc .kind.tpl{color:var(--ochre);border-color:rgba(154,115,24,.4)}.vpub .doc .kind.wp{color:var(--clay);border-color:rgba(139,63,28,.4)}.vpub .doc .fmt{font-family:var(--font-mono),monospace;font-size:10px;color:var(--ink-low);letter-spacing:.08em}.vpub .doc .body{padding:16px 18px;flex:1}.vpub .doc .body h4{font-family:var(--font-serif),serif;font-size:18px;font-weight:500;letter-spacing:-.01em;margin:0 0 8px;color:var(--ink);line-height:1.25}.vpub .doc .body p{font-size:13px;line-height:1.5;color:var(--ink-dim);margin:0}.vpub .doc .foot{padding:12px 18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono),monospace;font-size:10px;color:var(--ink-low);letter-spacing:.08em}.vpub .doc .foot .dl{color:var(--ochre);text-transform:uppercase}.vpub .dcats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.vpub .dcat{padding:6px 12px;font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line-hi);color:var(--ink-dim);cursor:pointer}.vpub .dcat.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.vpub .price-toggle{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:36px}.vpub .price-toggle .lbl{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-low);cursor:pointer}.vpub .price-toggle .lbl.on{color:var(--ink)}.vpub .price-toggle .sw{width:46px;height:24px;border-radius:999px;background:var(--surface-hi);border:1px solid var(--line-hi);position:relative;cursor:pointer}.vpub .price-toggle .sw:after{content:"";position:absolute;left:2px;top:1px;width:20px;height:20px;border-radius:50%;background:var(--ochre);transition:left .2s}.vpub .price-toggle .sw.on:after{left:23px}.vpub .price-toggle .save{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--ochre);color:var(--ochre)}.vpub .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:var(--surface-lo)}.vpub .plan{padding:32px 28px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px;position:relative}.vpub .plan:last-child{border-right:none}.vpub .plan.feat{background:var(--surface);box-shadow:inset 0 3px 0 var(--ochre)}.vpub .plan .tag{position:absolute;top:16px;right:16px;font-size:9px;letter-spacing:.18em;padding:3px 8px;border:1px solid var(--ochre);color:var(--ochre)}.vpub .plan .pid,.vpub .plan .tag{font-family:var(--font-mono),monospace;text-transform:uppercase}.vpub .plan .pid{font-size:10px;letter-spacing:.2em;color:var(--ink-low)}.vpub .plan h3{font-family:var(--font-serif),serif;font-size:30px;font-weight:500;letter-spacing:-.015em;margin:0;color:var(--ink)}.vpub .plan h3 em{font-style:italic;color:var(--ochre)}.vpub .plan .tagline{font-size:13px;line-height:1.5;color:var(--ink-dim);margin:0;min-height:38px}.vpub .plan .price{display:flex;align-items:baseline;gap:6px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.vpub .plan .price .big{font-family:var(--font-mono),monospace;font-size:44px;font-weight:500;letter-spacing:-.03em;line-height:1;color:var(--ink)}.vpub .plan .price .suf{font-size:12px;letter-spacing:.1em;text-transform:uppercase}.vpub .plan .price .suf,.vpub .plan .price .was{font-family:var(--font-mono),monospace;color:var(--ink-low)}.vpub .plan .price .was{font-size:13px;text-decoration:line-through;margin-left:auto}.vpub .plan .feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1px;font-size:13px}.vpub .plan .feats li{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);align-items:start;line-height:1.45}.vpub .plan .feats li:last-child{border-bottom:none}.vpub .plan .feats li .ic{color:var(--ochre);font-family:var(--font-mono),monospace;font-size:12px}.vpub .plan .feats li.off{opacity:.4}.vpub .plan .feats li.off .ic{color:var(--ink-low)}.vpub .plan .feats li .tx{color:var(--ink-dim)}.vpub .plan .feats li .tx b{color:var(--ink);font-weight:500}.vpub .plan .feats li .sec-lbl{font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-low);padding:14px 0 4px;display:block}.vpub .plan .cta{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:8px}.vpub .plan .cta a{text-align:center;padding:12px 14px;font-size:11px}.vpub .cmp{border:1px solid var(--line);background:var(--surface-lo);font-size:12px;margin-top:32px}.vpub .cmp-h,.vpub .cmp-r{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:12px;padding:11px 20px;align-items:center}.vpub .cmp-h{border-bottom:1px solid var(--line);background:var(--surface);font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-low)}.vpub .cmp-h .pn{text-align:center;color:var(--ink);font-weight:500}.vpub .cmp-h .pn.feat{color:var(--ochre)}.vpub .cmp-r{border-bottom:1px solid var(--line)}.vpub .cmp-r:last-child{border-bottom:none}.vpub .cmp-r .lbl{color:var(--ink)}.vpub .cmp-r .c{text-align:center;font-family:var(--font-mono),monospace;color:var(--ink-dim)}.vpub .cmp-r .c.y{color:var(--ochre)}.vpub .cmp-r .c.n{color:var(--ink-low)}.vpub .cmp-grp{padding:9px 20px;background:var(--surface);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ochre);border-bottom:1px solid var(--line)}.vpub .cmp-grp,.vpub .footer{font-family:var(--font-mono),monospace;border-top:1px solid var(--line)}.vpub .footer{padding:48px 32px 36px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;font-size:11px;background:var(--surface-lo)}.vpub .footer h5{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-low);margin:0 0 14px;font-weight:500}.vpub .footer a{display:block;padding:4px 0;color:var(--ink-dim);text-decoration:none;cursor:pointer}.vpub .footer a:hover{color:var(--ink)}.vpub .footer .foot-brand{font-family:var(--font-sans),sans-serif;font-size:14px;letter-spacing:.08em;color:var(--ink);margin-bottom:10px;display:flex;align-items:center;gap:10px}.vpub .footer .foot-brand .mark{width:10px;height:10px;background:var(--ochre);display:inline-block;transform:rotate(45deg)}.vpub .footer .desc{color:var(--ink-dim);font-family:var(--font-sans),sans-serif;font-size:12px;line-height:1.6;margin:0 0 16px;max-width:260px}@media (max-width:900px){.vpub .ph{grid-template-columns:1fr;gap:28px}.vpub .ph .meta{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:18px}.vpub .dgrid,.vpub .stats,.vpub .three{grid-template-columns:1fr 1fr}.vpub .method,.vpub .plans,.vpub .two{grid-template-columns:1fr}.vpub .plan{border-right:none;border-bottom:1px solid var(--line)}.vpub .cmp-h,.vpub .cmp-r{grid-template-columns:1.6fr .8fr .8fr .8fr;padding:10px 14px}.vpub .footer{grid-template-columns:1fr 1fr}}