.kznp{--kznp-bg:#fff;--kznp-text:#252238;--kznp-muted:#6d6882;--kznp-line:#e8e4f2;--kznp-soft:#f7f5fb;--kznp-accent:#7b5cff;--kznp-accent2:#ff7ea5;margin:28px 0;font-family:inherit;color:var(--kznp-text)}
.kznp *{box-sizing:border-box}
.kznp__shell{max-width:860px;margin:auto;background:linear-gradient(180deg,#fff 0%,#fbfaff 100%);border:1px solid var(--kznp-line);border-radius:24px;padding:28px;box-shadow:0 16px 45px rgba(42,32,86,.08)}
.kznp__header{text-align:center;margin-bottom:22px}.kznp__header h2{margin:6px 0 8px;font-size:clamp(24px,4vw,34px);line-height:1.15}.kznp__header p{margin:0 auto;max-width:680px;color:var(--kznp-muted)}
.kznp__eyebrow{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#6e52df;background:#f0ecff;border-radius:999px;padding:7px 11px}
.kznp__progress-wrap{display:flex;align-items:center;gap:12px;margin:22px 0}.kznp__progress{height:9px;background:#eeeaf7;border-radius:999px;overflow:hidden;flex:1}.kznp__progress span{display:block;height:100%;width:16.66%;background:linear-gradient(90deg,var(--kznp-accent),var(--kznp-accent2));transition:width .25s ease}.kznp__progress-label{font-size:13px;font-weight:700;color:var(--kznp-muted);white-space:nowrap}
.kznp__step{display:none;animation:kznpFade .22s ease}.kznp__step.is-active{display:block}.kznp__step h3{font-size:20px;margin:0 0 16px}.kznp__subheading{margin-top:24px!important}
.kznp__cards{display:grid;gap:12px}.kznp__cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}.kznp__cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kznp__choice{appearance:none;border:1px solid var(--kznp-line);background:#fff;color:var(--kznp-text);border-radius:16px;padding:16px 14px;min-height:70px;text-align:left;font:inherit;font-weight:700;cursor:pointer;transition:.18s ease;box-shadow:0 3px 12px rgba(50,42,90,.035)}.kznp__choice span{margin-left:6px}.kznp__choice small{display:block;margin:5px 0 0 28px;color:var(--kznp-muted);font-weight:500}.kznp__choice:hover{transform:translateY(-1px);border-color:#cfc3ff}.kznp__choice.is-selected{border-color:#8b70ff;background:#f2efff;box-shadow:0 0 0 2px rgba(123,92,255,.12)}
.kznp__slider-box{background:#fff;border:1px solid var(--kznp-line);border-radius:18px;padding:18px}.kznp__slider-labels{display:flex;justify-content:space-between;color:var(--kznp-muted);font-size:13px;font-weight:700;margin-bottom:8px}.kznp input[type=range]{width:100%;accent-color:var(--kznp-accent)}.kznp__value-pill{width:max-content;margin:9px auto 0;background:#f0ecff;color:#6247d1;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:800}
.kznp__nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px;flex-wrap:wrap}.kznp__btn{appearance:none;border:0;border-radius:13px;background:#2e2943;color:#fff;padding:12px 17px;font:inherit;font-weight:800;cursor:pointer;transition:.18s ease}.kznp__btn:hover{transform:translateY(-1px)}.kznp__btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.kznp__btn--ghost{background:#f2eff8;color:#39324e}.kznp__btn--accent{background:linear-gradient(90deg,var(--kznp-accent),#9c68ef)}
.kznp__result{margin-top:8px;background:#fff;border:1px solid var(--kznp-line);border-radius:20px;padding:22px;animation:kznpFade .25s ease}.kznp__result-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.kznp__result h3{font-size:25px;margin:7px 0 0}.kznp__close{border:0;background:#f2eff8;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:18px}.kznp__message{font-size:18px;line-height:1.7;margin:20px 0;padding:18px;background:#faf8ff;border-left:4px solid var(--kznp-accent);border-radius:12px;white-space:pre-line}.kznp__result-actions{display:flex;gap:10px;flex-wrap:wrap}.kznp__copy-status{min-height:20px;margin-top:8px;color:#477a55;font-weight:700;font-size:13px}
@keyframes kznpFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:700px){.kznp__shell{padding:20px;border-radius:18px}.kznp__cards--2,.kznp__cards--3{grid-template-columns:1fr}.kznp__choice{min-height:60px}.kznp__nav .kznp__btn{flex:1}.kznp__message{font-size:16px}}
