.kx-ladder{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start;color:var(--color-ink)}.kx-step{display:flex;flex-direction:column;gap:14px}.kx-step-top{display:flex;flex-direction:column;justify-content:flex-end;gap:14px;height:318px}.kx-step-art{color:var(--color-ink)}.kx-step-bar{position:relative;height:var(--kx-h);background:var(--kx-tint);border-radius:4px 4px 0 0}.kx-step[data-level="1"]{--kx-h: 64px;--kx-w: 25%;--kx-tint: var(--color-tint-1)}.kx-step[data-level="2"]{--kx-h: 120px;--kx-w: 50%;--kx-tint: var(--color-tint-2)}.kx-step[data-level="3"]{--kx-h: 176px;--kx-w: 75%;--kx-tint: var(--color-tint-3)}.kx-step[data-level="4"]{--kx-h: 232px;--kx-w: 100%;--kx-tint: var(--color-signal)}.kx-step-tag{margin:0;font-size:14px;font-weight:600;color:var(--color-signal)}.kx-step-name{margin:4px 0 0;font-size:23px;font-weight:600;line-height:1.2}.kx-step-text{margin:8px 0 0;font-size:16px;color:var(--color-muted)}.kx-step[data-state=past] .kx-step-bar{background:var(--color-tint-1)}.kx-step[data-state=current] .kx-step-bar{background:var(--color-signal)}.kx-step[data-state=future] .kx-step-bar{background:var(--color-mist)}.kx-step[data-state=future] :is(.kx-step-tag,.kx-step-name){color:var(--color-subtle)}.kx-step-here{display:none}.kx-step[data-state=current] .kx-step-here{display:block;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);white-space:nowrap;background:var(--color-highlight);color:var(--color-ink);font-size:12px;font-weight:600;line-height:1;padding:6px 10px;border-radius:999px;box-shadow:0 0 0 4px #f2b33d40}.kx-ladder--compact{gap:8px;padding-top:32px}.kx-ladder--compact .kx-step{gap:10px}.kx-ladder--compact .kx-step-top{height:100px}.kx-ladder--compact .kx-step[data-level="1"]{--kx-h: 28px}.kx-ladder--compact .kx-step[data-level="2"]{--kx-h: 52px}.kx-ladder--compact .kx-step[data-level="3"]{--kx-h: 76px}.kx-ladder--compact .kx-step[data-level="4"]{--kx-h: 100px}.kx-ladder--compact .kx-step-tag{font-size:13px}.kx-ladder--compact .kx-step-name{display:none}@media(max-width:767px){.kx-ladder:not(.kx-ladder--compact){grid-template-columns:minmax(0,1fr);gap:28px}.kx-ladder:not(.kx-ladder--compact) .kx-step-top{height:auto}.kx-ladder:not(.kx-ladder--compact) .kx-step-bar{height:12px;width:var(--kx-w);border-radius:0 6px 6px 0}.kx-ladder:not(.kx-ladder--compact) .kx-step-art{width:96px;height:auto}.kx-ladder:not(.kx-ladder--compact) .kx-step-here{left:0;transform:none}}.kx-sa{color:var(--color-ink);font-family:inherit;max-width:640px;margin:0 auto;padding:0;box-sizing:border-box;text-align:left}.kx-sa *{box-sizing:border-box}.kx-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.kx-progress{flex:1;height:4px;background:var(--color-line);border-radius:2px;overflow:hidden}.kx-progress span{display:block;height:100%;width:0;background:var(--color-signal);transition:width .25s ease}.kx-h{font-family:var(--font-display);font-size:var(--text-h3);font-weight:700;line-height:1.15;margin:.4em 0;letter-spacing:-.01em}.kx-lead{line-height:1.55;color:var(--color-muted);margin:0 0 1.4em;max-width:56ch}.kx-count{font-size:.9rem;color:var(--color-subtle);margin:.4em 0 .2em}.kx-dom{color:var(--color-signal);font-weight:600;margin-left:.5em}.kx-fs{border:0;padding:0;margin:0 0 20px}.kx-q{font-size:var(--text-h4);font-weight:600;line-height:1.35;margin:0 0 .9em;padding:0}.kx-opt{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;margin:0 0 8px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:8px;cursor:pointer;line-height:1.4}.kx-opt input{margin-top:.2em;accent-color:var(--color-signal);width:18px;height:18px;flex:none}.kx-opt:has(input:checked){border-color:var(--color-signal);box-shadow:inset 4px 0 0 var(--color-signal)}.kx-opt:hover{border-color:var(--color-signal)}.kx-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}.kx-btn{font:inherit;font-weight:600;padding:12px 20px;border-radius:6px;border:1px solid var(--color-ink);background:transparent;color:var(--color-ink);cursor:pointer;min-height:44px}.kx-primary{background:var(--color-signal);border-color:var(--color-signal);color:#fff}.kx-primary:hover:not(:disabled){background:var(--color-signal-dark);border-color:var(--color-signal-dark)}.kx-btn:disabled{opacity:.4;cursor:not-allowed}.kx-sa [tabindex="-1"]:focus{outline:none}.kx-result{background:var(--color-paper);border:1px solid var(--color-line);border-radius:12px;padding:22px 22px 26px;margin:8px 0 28px}.kx-result-head{display:flex;justify-content:space-between;gap:12px;font-size:.85rem;color:var(--color-subtle);border-bottom:1px solid var(--color-line);padding-bottom:10px}.kx-level-tag{margin:18px 0 0;font-size:.95rem;font-weight:600;color:var(--color-signal)}.kx-level{font-family:var(--font-display);font-size:var(--text-h3);font-weight:700;line-height:1.15;margin:4px 0 6px}.kx-leveltext{margin:0;line-height:1.5;color:var(--color-muted)}.kx-score{margin:10px 0 0;font-size:.95rem;color:var(--color-subtle);font-variant-numeric:tabular-nums}.kx-score strong{color:var(--color-ink)}.kx-ladder-slot{margin:8px 0 4px}.kx-sub{font-family:var(--font-body);font-size:var(--text-h4);font-weight:600;margin:24px 0 10px}.kx-lines{list-style:none;margin:0;padding:0}.kx-lines li{display:flex;align-items:center;gap:8px;padding:6px 0}.kx-ln{flex:none;max-width:60%}.kx-dots{flex:1;border-bottom:1px solid var(--color-line);transform:translateY(-3px)}.kx-meter{display:flex;gap:3px;flex:none}.kx-meter i{width:10px;height:10px;border-radius:2px;background:var(--color-line)}.kx-meter i.on{background:var(--color-signal)}.kx-recs{margin:0;padding-left:1.4em}.kx-recs li{margin:0 0 14px;line-height:1.5}.kx-recs strong{display:block}.kx-recs span{color:var(--color-muted)}.kx-form{background:var(--color-mist);border-radius:12px;padding:6px 20px 20px;margin-top:24px}.kx-form p{line-height:1.5}.kx-field{display:block;margin:0 0 12px}.kx-field span{display:block;font-size:.9rem;margin-bottom:4px}.kx-field input{width:100%;font:inherit;padding:11px 12px;border:1px solid var(--color-line);border-radius:6px;background:#fff;color:var(--color-ink)}.kx-consent{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;line-height:1.4}.kx-consent input{accent-color:var(--color-signal);width:18px;height:18px;flex:none;margin-top:.1em}.kx-hp{position:absolute;left:-9999px}.kx-msg{min-height:1.2em;margin:12px 0 0}.kx-err{color:#a3341f}.kx-ok{color:var(--color-signal-dark);font-weight:600}@media(prefers-reduced-motion:reduce){.kx-progress span{transition:none}}
