/* ===== MixVials wizard prototype (loads after styles.css) ===== */
.wiz-main{padding-bottom:8px}
.wiz-progress{padding:10px 0 8px;margin-top:6px}
.wiz-progress-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.wiz-back{display:inline-flex;align-items:center;gap:4px;font:inherit;font-weight:700;color:var(--brand);background:#fff;border:2px solid var(--line);border-radius:12px;min-height:48px;padding:6px 14px 6px 8px;cursor:pointer}
.wiz-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.wiz-back:focus-visible{outline:none;box-shadow:var(--focus)}
.wiz-count{margin:0;font-weight:800;color:var(--muted)}
.wiz-bar{height:10px;background:#dde7ea;border-radius:999px;overflow:hidden}
.wiz-bar span{display:block;height:100%;width:10%;background:var(--brand-2);border-radius:999px;transition:width .25s ease}
.wiz-card{padding:20px 16px 22px;min-height:300px}
.wiz-q{font-size:1.6rem;line-height:1.15;margin:0 0 4px;font-weight:900;letter-spacing:-.01em}
.wiz-q:focus{outline:none}
.wiz-help{color:var(--muted);margin:0 0 14px;font-size:1rem}
.wiz-small{font-size:.88rem;margin-top:10px}
.wiz-label{display:block;font-weight:700;margin:16px 0 6px}
.wiz-picked{text-align:center;color:var(--muted);font-size:.9rem;font-weight:600;margin:-4px 0 10px;min-height:1.3em}

/* step 1 list */
.wiz-search{padding-right:14px;margin-bottom:10px}
.wiz-list{list-style:none;margin:0;padding:0;max-height:46vh;overflow-y:auto;border:1px solid var(--line);border-radius:12px}
.wiz-list li + li{border-top:1px solid var(--line)}
.wiz-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:56px;padding:10px 14px;font:inherit;font-weight:700;font-size:1.08rem;color:var(--ink);background:#fff;border:0;text-align:left;cursor:pointer}
.wiz-opt:hover,.wiz-opt:focus-visible{background:var(--brand-soft);outline:none}
.wiz-opt.is-on{background:var(--brand-soft);color:var(--brand)}
.wiz-opt.is-on::after{content:"✓";font-weight:900}
.wiz-tag{font-size:.75rem;font-weight:700;color:#6b4fa0;background:#f3effa;border-radius:999px;padding:2px 8px;white-space:nowrap}
.wiz-alt{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.wiz-alt .btn-secondary{min-height:56px}

/* step 2 big buttons */
.wiz-big-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wiz-big{display:flex;align-items:baseline;justify-content:center;gap:6px;min-height:84px;font:inherit;font-size:2rem;font-weight:900;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:16px;cursor:pointer}
.wiz-big small{font-size:1rem;font-weight:700;color:var(--muted)}
.wiz-big-other{font-size:1.2rem;align-items:center}
.wiz-big.is-on,.wiz-wide.is-on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.wiz-big:focus-visible,.wiz-wide:focus-visible,.wiz-sum-row:focus-visible,.wiz-link:focus-visible{outline:none;box-shadow:var(--focus)}

/* step 3/4 wide buttons */
.wiz-water{display:grid;gap:10px}
.wiz-wide{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:72px;padding:12px 16px;font:inherit;text-align:left;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:16px;cursor:pointer}
.wiz-wide-main{display:block;font-size:1.45rem;font-weight:900;line-height:1.1}
.wiz-wide-sub{display:block;font-size:.92rem;color:var(--muted);font-weight:600}
.wiz-wide.is-on .wiz-wide-sub{color:var(--brand)}
.wiz-syr-btn{flex-direction:row;align-items:center;gap:12px}
.wiz-syr{width:118px;height:auto;flex:none}
.wiz-link{display:block;margin:16px auto 0;background:none;border:0;font:inherit;font-weight:700;color:var(--brand-2);text-decoration:underline;cursor:pointer;padding:8px;min-height:44px}
.wiz-rev{margin-top:8px;padding:14px;border:2px dashed #9fd0dc;border-radius:14px;background:#f7fcfd}
.wiz-rev .presets{margin-bottom:8px;grid-template-columns:repeat(5,1fr)}
.wiz-rev-ans{font-size:1.4rem;font-weight:800;color:var(--brand);margin:12px 0 0}
.wiz-full{width:100%;margin-top:10px;min-height:52px}

/* nav */
.wiz-nav{display:flex;gap:8px;margin-top:18px}
.wiz-next{min-height:56px;font-size:1.1rem}
.wiz-next:disabled{opacity:.4;cursor:not-allowed}

/* step 5 */
.wiz-preview{font-weight:800;color:var(--brand);margin:8px 0 0;min-height:1.4em}
.wiz-group{margin:14px 0 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfcfd}
.wiz-group-owner{border:2px dashed #8fb7d9;background:#f1f7fc}
.wiz-group-h{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:8px}
.wiz-group-h .dz-badge{margin:0}
.wiz-group-t{font-weight:700;font-size:.95rem}
.wiz-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.wiz-dchip{display:flex;flex-direction:column;align-items:center;border-radius:14px;padding:8px 4px;min-height:60px;line-height:1.15}
.wiz-dchip b{font-size:1.15rem}
.wiz-dchip small{font-size:.75rem;color:var(--muted);font-weight:600}
.wiz-src{font-size:.8rem;color:var(--muted);margin:8px 0 0;line-height:1.3}
.wiz-note{font-size:.88rem;color:var(--muted);margin:12px 0 0}
.wiz-nodose{margin-top:14px}

/* result */
.wiz-answer{text-align:center;background:var(--brand-soft);border-radius:16px;padding:14px 10px 10px;margin:4px 0 6px}
.wiz-answer.is-bad{background:var(--danger-bg)}
.wiz-answer.is-bad .draw-big{color:var(--danger)}
.wiz-fill-lead{margin:0;font-weight:800;font-size:1.2rem;color:var(--muted)}
.wiz-fill{font-size:4rem}
.wiz-fill .u{font-size:1.5rem}
.wiz-answer .draw-ml{margin:0;font-size:1.3rem;color:var(--ink)}
.wiz-facts{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:6px}
.wiz-facts li{background:#f3f7f8;border-radius:12px;padding:10px 14px;font-size:1.05rem}
.wiz-facts b{color:var(--brand)}
.wiz-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.wiz-actions button{min-height:56px}
.wiz-summary{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:10px}
.wiz-sum-row{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 10px;font:inherit;background:#fff;border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left}
.wiz-sum-row:last-child{border-bottom:0}
.wiz-sum-k{width:6.5em;color:var(--muted);font-weight:600}
.wiz-sum-v{flex:1;font-weight:800}
.wiz-sum-e{color:var(--brand-2);font-weight:700;text-decoration:underline}
.wiz-extras{margin-top:16px;display:grid;gap:8px}
.wiz-x{border:1px solid var(--line);border-radius:14px;background:#fff}
.wiz-x > summary{cursor:pointer;font-weight:800;padding:14px 16px;min-height:52px;list-style:none;display:flex;justify-content:space-between;align-items:center}
.wiz-x > summary::-webkit-details-marker{display:none}
.wiz-x > summary::after{content:"+";font-size:1.4rem;color:var(--brand)}
.wiz-x[open] > summary::after{content:"–"}
.wiz-x > :not(summary){margin:0 16px 14px}
.wiz-x .btn-label{margin-top:4px}
.wiz-sched + .wiz-sched{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
@media (min-width:700px){
  .wiz-main{max-width:560px}
  .wiz-big-grid{grid-template-columns:repeat(3,1fr)}
}
@media print{.wiz-progress,.wiz-picked{display:none}}
.wiz-preview.is-bad{color:var(--danger)}

/* chosen compound on step 1 + studied-for line */
.wiz-chosen{border:2px solid var(--brand);border-radius:14px;padding:12px 14px;margin:6px 0 12px;background:#fff}
.wiz-chosen-name{display:flex;align-items:center;gap:8px;margin:0;font-size:1.3rem;font-weight:900}
.wiz-chosen-name svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--brand);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.wiz-chosen .studied{margin:10px 0 2px}
.wiz-chosen .wiz-nav{margin-top:12px}
.wiz-change-h{margin:4px 0 6px;font-weight:600}
.wiz-studied-mini{margin:0 0 10px}
.wiz-studied-mini .studied-line{margin:0 0 6px;font-weight:600}
.wiz-calc{padding-bottom:8px}
