.kd-btn{font-family:var(--font-body);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);white-space:nowrap;border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.kd-btn--md{font-size:var(--text-sm);min-height:44px;padding:10px 22px}.kd-btn--lg{font-size:var(--text-base);min-height:52px;padding:13px 30px}.kd-btn--primary{background:var(--accent-primary);color:var(--text-on-primary)}.kd-btn--primary:hover{background:var(--accent-primary-hover);color:var(--text-on-primary)}.kd-btn--primary:active{background:var(--accent-primary-active);color:var(--text-on-primary)}.kd-btn--secondary{background:var(--surface-card);color:var(--accent-primary);border-color:var(--border-strong)}.kd-btn--secondary:hover{background:var(--surface-tint);border-color:var(--berry-500);color:var(--accent-primary)}.kd-btn--secondary:active{background:var(--berry-100);color:var(--accent-primary)}.kd-btn--neutral{background:var(--surface-card);color:var(--text-body);border-color:var(--border-strong)}.kd-btn--neutral:hover{background:var(--surface-alt);border-color:var(--rose-400);color:var(--text-body)}.kd-btn--ghost{color:var(--accent-primary);background:0 0}.kd-btn--ghost:hover{background:var(--surface-tint);color:var(--accent-primary)}.kd-btn--ghost:active{background:var(--berry-100);color:var(--accent-primary)}.kd-btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.kd-btn--full{width:100%}.kd-field{flex-direction:column;gap:6px;display:flex}.kd-field__label{font-size:var(--text-sm);color:var(--text-body);font-weight:600}.kd-field__opt{color:var(--text-muted);font-weight:400}.kd-field__input{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-body);background:var(--surface-card);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);box-sizing:border-box;width:100%;min-height:48px;transition:border-color var(--duration-fast) var(--ease-out);padding:12px 14px}.kd-field__input::placeholder{color:var(--ink-300)}.kd-field__input:hover{border-color:var(--rose-400)}.kd-field__input:focus{border-color:var(--accent-primary);box-shadow:var(--focus-ring);outline:none}.kd-field__input:disabled{background:var(--surface-alt);color:var(--text-muted);cursor:not-allowed}.kd-field__input:disabled:hover{border-color:var(--border-strong)}.kd-field__input--err{border-color:var(--error-600)}.kd-field__input--textarea{min-height:88px;line-height:var(--leading-snug);resize:vertical}.kd-field__hint{font-size:var(--text-caption);color:var(--text-muted)}.kd-field__err{font-size:var(--text-caption);color:var(--error-600)}.kd-field__control{align-items:center;gap:var(--space-1);background:var(--surface-card);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);box-sizing:border-box;width:100%;min-height:48px;transition:border-color var(--duration-fast) var(--ease-out);padding-left:14px;display:flex}.kd-field__control:hover{border-color:var(--rose-400)}.kd-field__control:focus-within{border-color:var(--accent-primary);box-shadow:var(--focus-ring)}.kd-field__control--err{border-color:var(--error-600)}.kd-field__control--disabled{background:var(--surface-alt);cursor:not-allowed}.kd-field__control--disabled:hover{border-color:var(--border-strong)}.kd-field__prefix{font-size:var(--text-base);color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none}.kd-field__control .kd-field__input{background:0 0;border:none;border-radius:0;flex:auto;width:auto;min-width:0;min-height:0;padding-left:0}.kd-field__control .kd-field__input:hover,.kd-field__control .kd-field__input:focus{box-shadow:none;border-color:#0000}.kd-field__control .kd-field__input:disabled{background:0 0}.kd-chk{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.kd-chk input{opacity:0;pointer-events:none;position:absolute}.kd-chk__box{border:2px solid var(--border-strong);background:var(--surface-card);width:22px;height:22px;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border-radius:6px;flex:none;justify-content:center;align-items:center;margin-top:2px;display:flex}.kd-chk:hover .kd-chk__box{border-color:var(--rose-400)}.kd-chk--on .kd-chk__box,.kd-chk--on:hover .kd-chk__box{background:var(--accent-primary);border-color:var(--accent-primary)}.kd-chk__label{font-size:var(--text-base);color:var(--text-body);line-height:var(--leading-snug)}.kd-chk__desc{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.kd-rs{flex-direction:column;gap:10px;display:flex}.kd-rs__opt{background:var(--surface-card);border:1.5px solid var(--border-soft);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);align-items:center;gap:14px;padding:14px 16px;display:flex}.kd-rs__opt:hover{border-color:var(--rose-400)}.kd-rs__opt--sel{border-color:var(--accent-primary);background:var(--surface-tint)}.kd-rs__circle{border:2px solid var(--border-strong);background:var(--surface-card);width:22px;height:22px;transition:border-color var(--duration-fast) var(--ease-out);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.kd-rs__opt--sel .kd-rs__circle{border-color:var(--accent-primary)}.kd-rs__dot{background:var(--accent-primary);border-radius:50%;width:10px;height:10px}.kd-rs__label{font-size:var(--text-base);color:var(--text-body);line-height:var(--leading-snug)}.kd-rs__detail{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.kd-rs__opt input{opacity:0;pointer-events:none;position:absolute}.kd-card{background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);box-sizing:border-box}.kd-card--tint{background:var(--surface-tint);border-color:var(--berry-100);box-shadow:none}.kd-card--pad-none{padding:0;overflow:hidden}.kd-card--pad-md{padding:var(--space-5)}.kd-card--pad-lg{padding:var(--space-6)}
