.vhero{padding:56px 0 24px}
.vhero h1{font-size:clamp(46px,8vw,92px);font-weight:800;margin-bottom:12px}
.pseudo{max-width:520px}
.pseudo input{flex:1;min-width:0;font:inherit;padding:9px 12px;border:2px solid var(--line);background:var(--bg);color:var(--ink);border-radius:2px}
.vsites{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.vsite{background:var(--card);border:2px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:12px}
.vsite .vstate{margin:0;color:var(--ok);font-weight:700}
.vsite.wait{border-color:var(--red)}
.vsite.wait .vstate{color:var(--mute)}
.vsite .btn[aria-disabled="true"]{opacity:.45;pointer-events:none;background:transparent;border-color:var(--line)}
.vhero + section .note,.note{max-width:60ch}
.vsite button{width:100%}
.vsite .btn{text-align:center}
.cmsg{margin:18px 0 0;padding:0;font-weight:700;min-height:1.6em}
.cmsg.ok{color:var(--ok)}.cmsg.err{color:var(--red)}
