.pvbt {
  --pvbt-bg:#f5f7fb;
  --pvbt-card:#fff;
  --pvbt-text:#17304e;
  --pvbt-muted:#667085;
  --pvbt-border:#dbe3ef;
  --pvbt-primary:#2563eb;
  --pvbt-primary-dark:#1d4ed8;
  --pvbt-good:#14804a;
  --pvbt-good-bg:#ecf9f2;
  --pvbt-warn:#8a6200;
  --pvbt-warn-bg:#fff7dc;
  --pvbt-bad:#aa2d2d;
  --pvbt-bad-bg:#fff0f0;
  width:100%; max-width:100%; margin:28px 0; padding:clamp(15px,2.5vw,28px);
  color:var(--pvbt-text); background:var(--pvbt-bg); border:1px solid var(--pvbt-border);
  border-radius:20px; box-sizing:border-box; overflow:hidden; font-family:inherit;
}
.pvbt *, .pvbt *::before, .pvbt *::after { box-sizing:border-box; min-width:0; }
.pvbt [hidden] { display:none !important; }
.pvbt__topbar { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:18px; }
.pvbt__eyebrow { display:inline-block; color:var(--pvbt-primary); font-size:12px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.pvbt__eyebrow span { color:#0f766e; }
.pvbt__topbar h2 { margin:7px 0 8px; font-size:clamp(27px,4vw,42px); line-height:1.12; overflow-wrap:anywhere; }
.pvbt__topbar p { margin:0; max-width:820px; color:var(--pvbt-muted); line-height:1.6; }
.pvbt__lang { display:flex; gap:6px; flex:0 0 auto; }
.pvbt__lang-btn { padding:7px 11px; border:1px solid var(--pvbt-border); border-radius:9px; background:#fff; color:var(--pvbt-text); font:inherit; font-weight:750; cursor:pointer; }
.pvbt__lang-btn.is-active { color:#fff; background:var(--pvbt-primary); border-color:var(--pvbt-primary); }
.pvbt__hero { margin:0 0 18px; border-radius:16px; overflow:hidden; border:1px solid var(--pvbt-border); background:#fff; }
.pvbt__hero img { display:block; width:100%; height:auto; }
.pvbt__notice, .pvbt__footer-note { padding:13px 15px; border:1px solid #cdd8ef; border-radius:12px; background:#eef4ff; line-height:1.5; overflow-wrap:anywhere; }
.pvbt__notice--privacy { margin-bottom:18px; }
.pvbt__notice--danger { background:var(--pvbt-bad-bg); border-color:#efc4c4; color:#7e2626; }
.pvbt__tool-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 18px; }
.pvbt__tool-card { position:relative; display:grid; grid-template-columns:auto 1fr; gap:7px 11px; align-items:start; min-height:155px; padding:17px; text-align:left; color:var(--pvbt-text); background:#fff; border:1px solid var(--pvbt-border); border-radius:14px; cursor:pointer; box-shadow:0 4px 14px rgba(23,48,78,.04); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.pvbt__tool-card:hover { transform:translateY(-2px); border-color:#a9bce8; box-shadow:0 10px 24px rgba(23,48,78,.08); }
.pvbt__tool-number { display:grid; place-items:center; width:27px; height:27px; border-radius:8px; color:#fff; background:var(--pvbt-primary); font-size:13px; font-weight:850; }
.pvbt__tool-icon { font-size:25px; line-height:1; justify-self:end; }
.pvbt__tool-card strong { grid-column:1/-1; font-size:17px; line-height:1.25; }
.pvbt__tool-card small { grid-column:1/-1; color:var(--pvbt-muted); line-height:1.45; font-size:13px; }
.pvbt__workspace { width:100%; }
.pvbt__section { display:none; padding:clamp(16px,2.6vw,24px); background:var(--pvbt-card); border:1px solid var(--pvbt-border); border-radius:16px; overflow:hidden; }
.pvbt__section.is-active { display:block; }
.pvbt__section-head { display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:start; margin-bottom:18px; }
.pvbt__section-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#edf3ff; font-size:23px; }
.pvbt__section-head h3 { margin:0 0 6px; font-size:clamp(22px,3vw,30px); line-height:1.18; overflow-wrap:anywhere; }
.pvbt__section-head p { margin:0; color:var(--pvbt-muted); line-height:1.55; }
.pvbt__back { align-self:start; padding:8px 11px; border:1px solid var(--pvbt-border); border-radius:9px; background:#fff; color:var(--pvbt-primary); font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.pvbt[data-tool]:not([data-tool="all"]) .pvbt__back { display:none; }
.pvbt__form-grid { display:grid; gap:13px; margin:14px 0; }
.pvbt__form-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pvbt__form-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pvbt__form-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pvbt__field { display:block; margin:12px 0; }
.pvbt__field > span { display:block; margin-bottom:7px; font-weight:730; }
.pvbt input, .pvbt select, .pvbt textarea { width:100%; max-width:100%; padding:11px 12px; color:var(--pvbt-text); background:#fff; border:1px solid var(--pvbt-border); border-radius:10px; font:inherit; }
.pvbt textarea { resize:vertical; overflow-wrap:anywhere; }
.pvbt select + input { margin-top:8px; }
.pvbt__checks { display:flex; flex-wrap:wrap; gap:10px 18px; margin:12px 0 4px; }
.pvbt__checks label { display:flex; align-items:flex-start; gap:7px; color:var(--pvbt-text); }
.pvbt__checks input { width:auto; margin-top:3px; }
.pvbt__button-row { display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.pvbt__primary, .pvbt__secondary { max-width:100%; padding:11px 15px; border-radius:10px; font:inherit; font-weight:760; cursor:pointer; overflow-wrap:anywhere; }
.pvbt__primary { color:#fff; background:var(--pvbt-primary); border:1px solid var(--pvbt-primary); }
.pvbt__primary:hover { background:var(--pvbt-primary-dark); border-color:var(--pvbt-primary-dark); }
.pvbt__secondary { color:var(--pvbt-primary); background:#fff; border:1px solid #b8c7e8; }
.pvbt__code { margin-top:13px; min-height:160px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important; font-size:12px !important; line-height:1.5; white-space:pre; overflow:auto; background:#111827 !important; color:#e5eefc !important; border-color:#111827 !important; }
.pvbt__details { margin:12px 0; padding:11px 13px; background:#f7f9fc; border-radius:10px; }
.pvbt__details summary { cursor:pointer; font-weight:760; }
.pvbt__details ol { margin-bottom:0; padding-left:22px; }
.pvbt__result { margin-top:16px; padding:16px; background:#f8fafc; border:1px solid var(--pvbt-border); border-radius:12px; line-height:1.55; overflow-wrap:anywhere; }
.pvbt__result h4 { margin:0 0 8px; font-size:19px; }
.pvbt__result h5 { margin:14px 0 6px; font-size:16px; }
.pvbt__result ul, .pvbt__result ol { margin:8px 0 0; padding-left:21px; }
.pvbt__result li { margin:6px 0; }
.pvbt__result.is-good { background:var(--pvbt-good-bg); border-color:#c6e8d8; color:#0e6b3f; }
.pvbt__result.is-warn { background:var(--pvbt-warn-bg); border-color:#eadb9e; color:#755500; }
.pvbt__result.is-bad { background:var(--pvbt-bad-bg); border-color:#efc4c4; color:#8c2929; }
.pvbt__checklist { display:grid; gap:9px; margin-top:10px; }
.pvbt__checkitem { display:grid; grid-template-columns:auto 1fr; gap:9px; align-items:start; padding:10px 12px; background:#fff; border:1px solid var(--pvbt-border); border-radius:9px; }
.pvbt__checkitem input { width:auto; margin-top:4px; }
.pvbt__metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:12px 0; }
.pvbt__metric { padding:12px; background:#fff; border:1px solid var(--pvbt-border); border-radius:10px; }
.pvbt__metric span, .pvbt__metric strong { display:block; }
.pvbt__metric span { color:var(--pvbt-muted); font-size:12px; }
.pvbt__metric strong { margin-top:4px; font-size:20px; }
.pvbt__glossary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.pvbt__term { padding:13px 14px; background:#fff; border:1px solid var(--pvbt-border); border-radius:11px; }
.pvbt__term summary { cursor:pointer; font-weight:780; }
.pvbt__term p { margin:9px 0 0; color:var(--pvbt-muted); line-height:1.5; }
.pvbt__footer-note { margin-top:18px; background:#fff7dc; border-color:#eadb9e; color:#6f5200; }
.pvbt__toast { position:fixed; right:18px; bottom:18px; z-index:99999; max-width:min(360px,calc(100vw - 36px)); padding:12px 14px; color:#fff; background:#172033; border-radius:10px; box-shadow:0 12px 32px rgba(0,0,0,.18); }
@media (max-width:1100px) {
  .pvbt__tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvbt__form-grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvbt__form-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .pvbt__topbar { flex-direction:column; }
  .pvbt__tool-grid, .pvbt__form-grid--2, .pvbt__form-grid--3, .pvbt__form-grid--4, .pvbt__metric-grid, .pvbt__glossary { grid-template-columns:1fr; }
  .pvbt__section-head { grid-template-columns:auto 1fr; }
  .pvbt__back { grid-column:1/-1; justify-self:start; }
  .pvbt__button-row { flex-direction:column; }
  .pvbt__primary, .pvbt__secondary { width:100%; }
}
