.vs{border:1px solid var(--line);border-top:4px solid var(--gold);background:var(--surface,var(--background));font-family:var(--body);border-radius:16px;margin:32px 0;padding:28px}.vs fieldset{border:0;margin:0 0 22px;padding:0}.vs legend{font-family:var(--display);font-weight:600;font-size:var(--fs-md,1.05rem);color:var(--ink);margin-bottom:12px}.vs-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 20px;display:grid}.vs-field{flex-direction:column;gap:6px;display:flex}.vs-field label{font-size:var(--fs-sm,.9rem);color:var(--ink);font-weight:600}.vs-field small,.vs-disc{font-size:var(--fs-xs,.8rem);color:var(--ink-soft);line-height:1.45}.vs-field input[type=number],.vs-field select{border:1px solid var(--line);background:var(--background);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;border-radius:10px;padding:10px 12px}.vs-field input[type=number]:focus,.vs-field select:focus{outline:2px solid var(--gold);outline-offset:1px}.vs-field input[type=range]{accent-color:var(--gold-deep);width:100%}.vs-check{align-items:flex-start;gap:8px;font-weight:600;display:flex}.vs-check input{accent-color:var(--gold-deep);margin-top:3px}.vs-presets{font-size:var(--fs-sm,.9rem);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px;display:flex}.vs-presets button{border:1px solid var(--gold-deep);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:7px 14px;font-weight:600}.vs-presets button:hover{background:var(--gold)}.vs-out{border-top:1px solid var(--line);padding-top:18px}.vs-out table{border-collapse:collapse;width:100%;font-size:var(--fs-sm,.9rem)}.vs-out td{border-bottom:1px dashed var(--line);color:var(--ink);padding:8px 0}.vs-out td.num{text-align:right;font-variant-numeric:tabular-nums;padding-left:12px;font-weight:600}.vs-out tr.sub td{font-weight:700}.vs-result{background:var(--gold);color:var(--ink);border-radius:12px;justify-content:space-between;align-items:baseline;gap:12px;margin:16px 0;padding:16px 20px;display:flex}.vs-result span{font-weight:700}.vs-result b{font-family:var(--display);font-size:var(--fs-xl,1.6rem);font-variant-numeric:tabular-nums}.vs-note{font-size:var(--fs-sm,.9rem);color:var(--ink);line-height:1.55}@media (width<=600px){.vs{padding:18px}}
