.vpt-app{--vpt-accent:#4F46E5;--vpt-accent-dark:#3730A3;--vpt-bg:#F8F6F6;--vpt-panel:#fff;--vpt-text:#1F2937;--vpt-muted:#6B7280;--vpt-border:#E5E7EB;--vpt-success:#166534;--vpt-warning:#92400E;--vpt-danger:#991B1B;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--vpt-text);background:var(--vpt-bg);padding:24px 16px}.vpt-shell{max-width:1000px;margin:0 auto}.vpt-header{text-align:center;margin-bottom:24px}.vpt-header h2{margin:0 0 8px;font-size:clamp(28px,4vw,40px);line-height:1.15}.vpt-header p{margin:0 auto;max-width:720px;color:var(--vpt-muted);font-size:16px;line-height:1.7}.vpt-main-card,.vpt-summary,.vpt-help-grid>div,.vpt-related{background:var(--vpt-panel);border:1px solid var(--vpt-border);border-radius:16px;box-shadow:0 6px 20px rgba(17,24,39,.05)}.vpt-main-card{padding:24px}.vpt-progress-track{height:8px;background:#EEF2F7;border-radius:999px;overflow:hidden}.vpt-progress-track span{display:block;width:0;height:100%;background:var(--vpt-accent);transition:width .25s ease}.vpt-progress-text{text-align:right;color:var(--vpt-muted);font-size:14px;margin-top:7px}.vpt-target-card{text-align:center;padding:28px 16px;margin:18px 0;background:#F7F7FF;border:1px solid #E4E2FF;border-radius:14px}.vpt-eyebrow,.vpt-label{display:block;color:var(--vpt-muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.vpt-target-note{font-size:56px;line-height:1;font-weight:800;margin:8px 0}.vpt-target-hz{color:var(--vpt-muted)}.vpt-actions,.vpt-summary-actions{display:flex;gap:12px;flex-wrap:wrap}.vpt-btn{min-height:48px;border:1px solid var(--vpt-border);background:#fff;color:var(--vpt-text);padding:11px 18px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:.2s ease}.vpt-btn:hover:not(:disabled){border-color:#C7C5FF;transform:translateY(-1px)}.vpt-btn:focus-visible,.vpt-related a:focus-visible{outline:3px solid rgba(79,70,229,.25);outline-offset:2px}.vpt-btn-primary{background:var(--vpt-accent);border-color:var(--vpt-accent);color:#fff}.vpt-btn-primary:hover:not(:disabled){background:var(--vpt-accent-dark)}.vpt-btn:disabled{opacity:.45;cursor:not-allowed}.vpt-status{margin-top:16px;padding:12px 14px;background:#F9FAFB;border-radius:10px;color:var(--vpt-muted);line-height:1.55}.vpt-live{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.vpt-live>div,.vpt-summary-grid>div{padding:16px;border:1px solid var(--vpt-border);border-radius:12px}.vpt-live strong,.vpt-summary-grid strong{display:block;margin-top:6px;font-size:20px}.vpt-round-result{text-align:center;margin-top:20px;padding:20px;background:#FAFAFA;border-radius:12px}.vpt-result-badge{display:inline-block;padding:8px 12px;border-radius:999px;font-weight:800;background:#EEF2FF;color:var(--vpt-accent-dark)}.vpt-summary{margin-top:24px;padding:24px}.vpt-summary h3,.vpt-help-grid h3,.vpt-related h3{margin-top:0}.vpt-score-wrap{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}.vpt-score{font-size:58px;font-weight:850;line-height:1;color:var(--vpt-accent-dark)}.vpt-score small{font-size:18px;color:var(--vpt-muted)}.vpt-summary-label{font-size:20px;font-weight:800}.vpt-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.vpt-summary-grid span{font-size:13px;color:var(--vpt-muted);font-weight:700}.vpt-note{margin:16px 0 0;color:var(--vpt-muted);font-size:14px;line-height:1.6}.vpt-help-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:24px}.vpt-help-grid>div{padding:22px}.vpt-help-grid p,.vpt-help-grid li{color:var(--vpt-muted);line-height:1.65}.vpt-related{margin-top:24px;padding:24px}.vpt-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 28px}.vpt-related a{font-weight:700;color:var(--vpt-accent-dark);text-decoration:none;padding:6px 0}.vpt-related a:hover{text-decoration:underline}@media(max-width:760px){.vpt-app{padding:18px 12px}.vpt-main-card,.vpt-summary{padding:18px}.vpt-actions .vpt-btn{flex:1 1 100%}.vpt-live,.vpt-summary-grid,.vpt-help-grid,.vpt-related-grid{grid-template-columns:1fr}.vpt-score-wrap{grid-template-columns:1fr}.vpt-target-note{font-size:48px}}
