.dvp-wrap{margin:2.5rem 0;padding:1.25rem;border:1px solid #d7dde5;border-radius:12px;background:#f8fafc;color:#1f2937}
.dvp-wrap h2{margin:0 0 .75rem}
.dvp-about{background:#fff7e6;border-left:4px solid #f59e0b;padding:.6rem .9rem;border-radius:6px;margin-bottom:1rem}
.dvp-about p{margin:.3rem 0 0}
.dvp-prog{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.dvp-prog i{display:block;height:100%;width:0;background:#16a34a;transition:width .3s}
.dvp-progt{font-size:.85rem;color:#4b5563;margin:.3rem 0 1rem}
.dvp-task{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem;margin:0 0 1rem}
.dvp-task.done{border-color:#16a34a;box-shadow:inset 4px 0 0 #16a34a}
.dvp-task h4{margin:0 0 .5rem;font-size:1.05rem}
.dvp-lv{display:inline-block;font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;vertical-align:middle;margin-right:.3rem}
.dvp-E{background:#dcfce7;color:#166534}.dvp-M{background:#fef3c7;color:#92400e}.dvp-H{background:#fee2e2;color:#991b1b}
.dvp-task p{margin:.35rem 0}.dvp-ctx{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;background:#f1f5f9;padding:.4rem .6rem;border-radius:6px}
.dvp-how ol{margin:.3rem 0 .6rem 1.2rem;padding:0}.dvp-how li{margin:.15rem 0}
.dvp-in{display:block;width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92rem;padding:.55rem .65rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#111}
.dvp-btns{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.dvp-btns button{cursor:pointer;border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:.4rem .8rem;font-size:.9rem;color:#1f2937}
.dvp-btns .dvp-check{background:#2563eb;border-color:#2563eb;color:#fff}
.dvp-msg{min-height:1.2em;font-weight:600}.dvp-msg.good{color:#15803d}.dvp-msg.bad{color:#b91c1c}
.dvp-extra{margin-top:.5rem;padding:.6rem .8rem;border-radius:6px;background:#eff6ff}.dvp-extra.sol{background:#f0fdf4}
.dvp-extra pre{white-space:pre-wrap;word-break:break-word;margin:.3rem 0 0;font-size:.85rem}
.dvp-hublink{margin:.5rem 0 0}
.dvp-hub{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;background:#f8fafc;color:#1f2937;line-height:1.55}
.dvp-hub main{max-width:960px;margin:0 auto;padding:1.5rem}
.dvp-hl{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.8rem 1rem;margin:.8rem 0}.dvp-hl h2{font-size:1.1rem;margin:0}.dvp-hl ol{margin:.3rem 0 0 1.2rem;padding:0;font-size:.92rem}
.dvp-crumb{font-size:.85rem;margin-bottom:.5rem}
[data-theme="dark"] .dvp-wrap{background:#0f172a;color:#e5e7eb;border-color:#334155}[data-theme="dark"] .dvp-task,[data-theme="dark"] .dvp-in,[data-theme="dark"] .dvp-btns button:not(.dvp-check){background:#111827;color:#e5e7eb;border-color:#334155}[data-theme="dark"] .dvp-about{background:#3b2f12}[data-theme="dark"] .dvp-extra{background:#1e293b}[data-theme="dark"] .dvp-ctx{background:#1e293b}
