.kv32-hub,.kv32-lab{--kv32-paper:#f8f1e5;--kv32-white:#fcf8f0;--kv32-ink:#37312e;--kv32-pencil:#615a51;--kv32-line:#cbbba6;color:var(--kv32-ink);font-family:'DM Sans',system-ui,sans-serif;box-sizing:border-box}
.kv32-hub *,.kv32-lab *{box-sizing:border-box}
.kv32-hub{max-width:1240px;margin:0 auto;padding:18px 0 38px}
.kv32-intro{margin:12px 0 25px;max-width:78ch}.kv32-intro h2{font:500 clamp(35px,4vw,58px)/1.07 'EB Garamond',Georgia,serif;margin:9px 0}.kv32-intro p{font-size:16px;line-height:1.55}
.kv32-kicker,.kv32-plate{font:650 11px/1.5 'DM Sans',system-ui,sans-serif;letter-spacing:.11em;color:#6b5c4d;text-transform:uppercase}.kv32-related{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.kv32-related a,.kv32-index a{padding:8px 11px;border:1px solid var(--kv32-line);color:var(--kv32-ink);background:var(--kv32-white);text-decoration:none;font-size:13px}.kv32-index{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 35px}
.kv32-lab{padding:clamp(16px,2.8vw,30px);border:1px solid var(--kv32-line);border-radius:13px;background:var(--kv32-paper);margin:24px 0;scroll-margin-top:20px}
.kv32-lab-header{display:flex;justify-content:space-between;gap:12px;align-items:start}.kv32-lab h3{font:500 clamp(29px,3vw,43px)/1.08 'EB Garamond',Georgia,serif;margin:4px 0 18px}.kv32-plate{white-space:nowrap;border-bottom:1px solid var(--kv32-line)}
.kv32-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:20px}.kv32-stage{min-width:0;padding:12px;border:1px solid var(--kv32-line);background:var(--kv32-white);border-radius:7px}.kv32-stage svg{width:100%;height:auto;display:block;max-width:100%}.kv32-axis{fill:none;stroke:#bfb09e;stroke-width:1}.kv32-curve{fill:none;stroke:#48423c;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.kv32-curve-second{stroke:#8e7761;stroke-width:1.5;stroke-dasharray:6 4}.kv32-label{font:12px 'DM Sans',sans-serif;fill:#65594e}.kv32-stage-hint{font:12px/1.5 'DM Sans',sans-serif;color:var(--kv32-pencil);margin:6px 4px}
.kv32-controls{padding:8px 0}.kv32-controls h4,.kv32-output h4{font:600 14px/1.4 'DM Sans',sans-serif;margin:0 0 10px;color:#35302c}.kv32-control{display:block;margin-bottom:13px}.kv32-control>span{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font:13px/1.4 'DM Sans',sans-serif}.kv32-control output{font-weight:700;color:#332d28}.kv32-control input{display:block;width:100%;accent-color:#6c6155;min-height:22px;margin-top:6px;cursor:pointer}.kv32-reset{border:1px solid #827366;background:var(--kv32-white);color:var(--kv32-ink);padding:8px 13px;cursor:pointer;border-radius:5px}
.kv32-output{margin-top:18px}.kv32-output dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.kv32-output dl div{padding:10px 13px;border:1px solid var(--kv32-line);background:var(--kv32-white)}.kv32-output dt{font:12px/1.4 'DM Sans',sans-serif;color:#66594e}.kv32-output dd{font:500 24px/1.2 'EB Garamond',Georgia,serif;margin:5px 0 0;color:var(--kv32-ink)}.kv32-output dd small{font:11px 'DM Sans',sans-serif}.kv32-notes{margin-top:16px;padding:11px 17px;background:#eee3d2;border-left:2px solid #8a7866}.kv32-notes p{font:14px/1.6 'DM Sans',sans-serif;margin:5px 0}.kv32-notes strong{letter-spacing:.04em}
.kv32-lab :focus-visible{outline:2px solid #9b5637;outline-offset:3px}
@media(max-width:850px){.kv32-grid{grid-template-columns:1fr}.kv32-lab-header{flex-wrap:wrap}.kv32-output dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.kv32-output dl{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.kv32-hub *,.kv32-lab *{transition:none!important;animation:none!important}}

.kv32-dynamic-warning{border-left:3px solid #805742;background:#e9dccb;color:#43372e;padding:10px 13px;font:600 13px/1.5 'DM Sans',sans-serif}
.kv32-dynamic-warning[hidden]{display:none}
